개인 공부 블로그

객체지향 프로그래밍의 특징 본문

JAVA

객체지향 프로그래밍의 특징

패잇 2023. 9. 16. 20:15

캡슐화(Encapsulation)

- 객체의 필드, 메소드를 하나로 묶고 실제 구현 내용을 감추는 것.

- 외부 객체는 객체 내부의 구조를 알지 못하며 객체가 노출해서 제공하는 필드와 메소드만 이용할 수 있다.

- 필드와 메소드를 캡슐화하여 보호하는 이유는 외부의 잘못된 사용으로 객체가 손상되지 않도록 하기 위함.

- 접근 제한자를 통해 사용 범위를 제한함으로써 외부로부터 보호.

 

상속(Inheritance)

- 상위 객체가 가지고 있는 필드와 메소드를 하위 객체에게 물려준다.

- 상위 객체를 재사용해서 하위 객체를 쉽고 빨리 설계할 수 있도록 도와준다.

- 이미 잘 개발된 객체를 사용해 새로운 객체를 만들기 때문에 모드의 중복을 줄여준다.

- 상위 객체의 수정으로 모든 하위 객체들의 수정 효과를 가져와 유지보수 시간을 최소화 시켜주기도 한다.

 

다형성(Polymorphism)

- 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질.

- 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있게 해준다.

- 자바는 다형성을 위해 부모 클래스나 인터페이스의 타입 변환을 허용한다.

  부모 타입에는 모든 자식 객체가 대입될 수 있고, 인터페이스 타입에는 모든 구현 객체가 대입될 수 있다.

- 다형성의 효과로 객체는 부품화가 가능.

  타이어 인터페이스를 적용했다면 구현한 실제 타이어들은 어떤 것이든 상관없이 대입이 가능. 

  자동차 설계 시 타이어 타입 - 장착 시 한국 타이어 객체나 금호 타이어 객체 다 갈아 끼울 수 있다.

'JAVA' 카테고리의 다른 글

생성자  (0) 2023.09.16
클래스  (0) 2023.09.16
배열  (0) 2023.09.16
String 타입  (0) 2023.09.16
null, NullPointerException  (0) 2023.09.16