[자바 – Java] 객체지향 프로그래밍 특징 추상화 다형성 캡슐화 정리

객체 지향 프로그래밍

 

1) 추상화(Abstraction)와 일반화

 

– 어떤 영역에서 필요로 하는 속성이나 기능을 추출하는 작업을 추상화, 일반화라고 한다.

– 데이터 구조, 표현방법에 대한 추상화를 말한다. 추상화의 의도는 단순화이며, 일반화의 의도는 공통점을 뽑아내는 것이다.

 

2) 캡슐화 (Encapsulation)

 

– 데이터를 감싸서 외부에서 사용 가능한 부분만 제공(information hiding)한다. 사용하는 코드(client)가 세부적인 사항을 알 필요가 없다.

– private : 나만 볼 수 있는 것, 같은 클래스 내부에서만 접근 가능하다.

3) 상속(inheritance)

 

– 일반적인(general) 개념의 객체에서 보다 구체적인(specific) 개념의 객체 관계를 표현한다.

– 상위 클래스 속성과 기능을 하위 클래스에서 사용하거나 재정의 할 수 있다.

 

4) 다형성(polymorphism)

 

– 같은 메시지, 같은 구현에 대해 각 객체가 다른 표현과 결과를 나타내는 것이다.

– 부모 타입으로 자식 타입의 객체들을 접근할 수 있는 것이다.