자바

[자바] 객체지향언어(OOP)

코 밑 2024. 3. 24. 04:03
Contents

안뇽하세요 코밑이에염!

먼저 옛날에 강사님께 들었던 간략한 프로그래밍 언어의 역사

C → C++ → Win32API → MFC → C# (MS)

C++에서 파생 → JAVA

 

객체지향언어란 객체를 만들고 객체를 사용하는 프로그래밍의 방법

객체지향 언어의 종류에는 C++, C#, 파이썬, JAVA 등이 있죵

 

C는 절차지향언어

절차를 밟는 과정을 겪는 언어죠

 

객체지향언어(OOP)의 특징

  1. 추상화(abstraction) : 추상적인 것 → 구체적인 것으로 구체화하는 것(설계)
  2. 캡슐화(encapsulation) : 데이터를 보호, 은닉, 데이터를 안정적으로 쓸 수 있다(절차지향언어는 너무 오픈돼있음)
  3. 상속(inheritance) : 코드의 확산, 코드의 재사용성 up(빚을 상속받는다면? 무조건 상속이 좋지만은 않음 코드가 꼬이고 복잡해질 수 있다→ 유지보수 불편. 자바는 기본적으로 100% 상속)
  4. 다형성(polymorphism) : 편의성(접근 방법은 같지만 서로 다른 객체를 지정할 수 있다. ex)오버로딩, 오버라이딩)

 

이와 반대로 절차지향언어의 특징

  1. 메모리 할당이 자유롭다
  2. 처리 속도가 빠르다 - 아무래도 객체지향 언어에 비해 저수준 언어이기 때문

 

객체지향언어의 장점👍

  1. 재사용성 - 상속의 장점
  2. 생산성 향상
  3. 자연적인 모델링
  4. 요지보수 좋음

객체지향언어의 단점 👎

  1. 개발속도가 느리다
  2. 고수준 언어에 가깝기 때문에 실행속도가 느리다
  3. 어려웡

'자바' 카테고리의 다른 글

스프링 시큐리티 + jwt 토큰  (4) 2024.11.29
[자바] 오버라이딩, 오버로딩  (2) 2024.03.28
[JAVA] 숫자 야구 게임  (8) 2023.07.19