반응형
객체 지향 프로그래밍?
소프트웨어의 각 요소들을 객체로 만든 후, 객체들을 조립해서 소프트웨어를 개발하는 기법입니다.
- 객체 : 데이터와 이를 처리하기 위한 함수를 묶어 놓은 소프트웨어 모듈을 의미함
- 클래스 : 공통된 속성과 연산을 갖는 객체의 집합을 의미함
- 인스턴스 : 클래스에 속한 각각의 객체를 의미함
- 메시지 : 객체들 간의 상호작용에 사용되는 수단. 객체의 동작이나 연산을 일으키는 외부의 요구사항을 의미함
특징?
캡슐화
- 외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 내용을 은닉하는 것
- 데이터와 함수를 하나로 묶는 것(재사용성 용이, 변경 파급효과 적음)
정보은닉
- 캡슐화의 중요 개념. 캡슐 내의 세부 내용을 외부에 숨기는 것. 자신만의 연산으로 접근 (자바의 접근제어자)
- private : 자기 클래스 내부의 메서드만 접근 허용
- protected : 자기 클래스, 상속받은 자식 클래스에서의 접근을 허용
- public : 모든 접근을 허용
상속
- 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것
- 재정의 하지 않아도 즉시 자신의 속성으로 사용
다형성
- 하나의 메시지에 대해 각각의 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력
- ex) + 연산자
추상화
- 불필요한 부분을 생략하고, 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화하는 것, 즉 모델화 하는 것이다.
파이썬과 자바의 차이점, 다형성에 심도 깊게 알아두면 좋다 :)
반응형
'Dev DBAN > 개발 용어 핥아보기' 카테고리의 다른 글
개발 용어 핥아보기 - 레디스(Redis) 알고 쓰기 (0) | 2022.01.30 |
---|---|
개발 용어 핥아보기 - 메모리 구조와 가상 메모리 (0) | 2022.01.14 |
개발 용어 핥아보기 - 데드락 (0) | 2022.01.10 |
개발 용어 핥아보기 - 멀티 스레딩과 멀티 프로세싱 (0) | 2021.12.29 |
개발 용어 핥아보기 - 프로세스와 스레드 (0) | 2021.12.28 |
댓글