초보 개발자의 기록

캡슐화 (Encapsulation) 본문

JAVA/Basic

캡슐화 (Encapsulation)

bambinodeveloper 2021. 7. 30. 13:47
728x90

객체지향 주요개념 : Encapsulation (캡슐화) , Inheritance(상속), Polymorphism(다형성)

 

캡슐화?

- 객체의 속성(data field)와 행위(method)를 하나로 묶는다

- 실제 구현 내용의 일부를 외부에 감추어 은닉한다.

   외부에 감추는 방법 - 은늑의 정도를 접근지정자로 기술하고 해당 영역에 들어가는 속성, 메서드를 제한

- 인터페이스는 공개하고 구현부는 은닉한다 (public inteface, private implementation)

 

장점

- 정보보호, 정보은닉

- 생산성 : 구현부를 몰라도 인터페이스 이용해 소통가능 - 생산성, 응집도 높아짐

             참고> API : Application Programming Interface 

- 유지 보수성 : 인터페이스로 소통하므로, 내부 구현부가 업데이트 되어서 외부 영향 최소화 (결합도 최소화)

- 독립선 보장 - 메소드의 구현 방법이 바뀌거나 객체 내의 데이터가 바뀌어도 다른 객체에는 영향을 주지 않은

- 클래스의 결합도 최소화 - 재사용 용이

728x90
반응형

'JAVA > Basic' 카테고리의 다른 글

생성자 (Constructor)  (0) 2021.08.01
제어자 (Modifier)  (0) 2021.07.30
JVM의 메모리 구조  (0) 2021.07.30
변수와 메서드  (0) 2021.07.30
객체지향 언어  (0) 2021.07.29