Halo World

객체 지향 프로그래밍의 특징(캡슐화, 상속, 다형성) 본문

개발 지식/JAVA

객체 지향 프로그래밍의 특징(캡슐화, 상속, 다형성)

_Yeony 2017. 6. 2. 13:17

 

| 캡슐화(Encapsulation)

 

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

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

 

 > 캡슐화의 목적

  외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 하기 위해 접근제한자 (public, private)를 사용하여 설정함

 

 > 캡슐화를 통한 정보 은폐의 장점

   - 객체에 포함된 정보의 손상과 오용을 막을 수 있음

   - 객체 내부의 조작 방법이 바뀌어도 사용방법을 바뀌지 않음

   - 데이터가 바뀌어도 다른 객체에 영향을 주지 않아 독립성이 유지됨

 

 

 

| 상속(Inheritance)

 

 상위 객체의 필드와 메소드를 하위 객체에게 물려주어 하위 객체가 사용하 수 있도록 하는 것

 

 > 장점

   - 하위 객체를 쉽고 빨리 설계할 수 있도록 함

   - 반복된 코드의 중복을 줄여 효율적이고 개발 시간을 절약

   - 유지 보수 시간 최소화

 

 

 

| 다형성(Polymorphism)

 

 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있도록 하는 것

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

 

 > 장점

   - 객체의 부분화 가능

'개발 지식 > JAVA' 카테고리의 다른 글

접근 제한자  (0) 2017.06.03
싱글톤(Singleton)  (0) 2017.06.03
컴파일러, 인터프리터, 하이브리드  (0) 2017.06.01
JSP 모델1, 모델2 개념과 장단점  (0) 2017.06.01
MVC 패턴이란?  (0) 2017.06.01