반응형
객체 지향 프로그래밍
1) 추상화(Abstraction)와 일반화
- 어떤 영역에서 필요로 하는 속성이나 기능을 추출하는 작업을 추상화, 일반화라고 한다.
- 데이터 구조, 표현방법에 대한 추상화를 말한다. 추상화의 의도는 단순화이며, 일반화의 의도는 공통점을 뽑아내는 것이다.
2) 캡슐화 (Encapsulation)
- 데이터를 감싸서 외부에서 사용 가능한 부분만 제공(information hiding)한다. 사용하는 코드(client)가 세부적인 사항을 알 필요가 없다.
- private : 나만 볼 수 있는 것, 같은 클래스 내부에서만 접근 가능하다.
3) 상속(inheritance)
- 일반적인(general) 개념의 객체에서 보다 구체적인(specific) 개념의 객체 관계를 표현한다.
- 상위 클래스 속성과 기능을 하위 클래스에서 사용하거나 재정의 할 수 있다.
4) 다형성(polymorphism)
- 같은 메시지, 같은 구현에 대해 각 객체가 다른 표현과 결과를 나타내는 것이다.
- 부모 타입으로 자식 타입의 객체들을 접근할 수 있는 것이다.
반응형
'프로그래밍 > Java' 카테고리의 다른 글
[자바 - Java] 컬렉션 프레임워크 인터페이스 List Set Map Iterator (0) | 2022.09.07 |
---|---|
[자바 - Java]유용한 클래스 - Object, String, StringBuilder, StringBuffer, Text Block, Class클래스, reflection, new instance (0) | 2022.09.06 |
[자바 - Java] 인터페이스 추상클래스 사용 이유 상속 예제 구현 implements (0) | 2022.09.04 |
[자바 - Java] 추상클래스 추상메소드 인터페이스 예제 (0) | 2022.09.03 |
[자바 - Java] 다형성 구현 이유 형변환 instanceof (1) | 2022.09.02 |