본문 바로가기
Java

[Java] 캡슐화

by eunoo 2022. 10. 11.

캡슐화란 쉽게 말해 데이터 감추기이다. 즉 외부로부터 접근을 막는 것을 의미한다.

 

자바에서는 접근 제어자를 통해 캡슐화를 한다.

접근 제어자의 종류

  • private : 클래스 내에서만 접근 가능
  • (default) : 같은 패키지 내에서만 접근 가능
  • protected : 같은 패키지, 자손클래스에서 접근 가능
  • public : 제한 없음

접근 제어자를 사용하는 이유

  • 외부로부터 접근을 막기위해
  • 외부에서는 접근하지 않고, 내부에서만 쓰이는 부분은 감추기 위해

접근 제어자를 사용함으로써 클래스 내부의 데이터를 보호할 수 있다.

멤버변수를 private으로 하여 외부로부터 접근을 막는다. 대신 멤버변수의 값을 읽는 getter와 멤버변수의 값을 변경하는 setter를 public으로 작성하여 간접적으로 멤버변수에 접근을 한다.

내부에서만 쓰이는 멤버도 private으로 하여 클래스 내부를 감춘다. 외부에서 필요없는 부분은 외부로 노출시키지 않음으로써 복잡성을 줄인다.

상속을 통해 확장 가능한 클래스(부모클래스)의 멤버는 protected로 하여 외부로부터 접근 제한을 주되, 자식 클래스에서는 접근 가능하게 한다.

접근 제어자의 범위는 항상 최소화시키고 필요할 때 넓히면 된다는 것을 명심하자!

'Java' 카테고리의 다른 글

[Java] 추상화 (feat. 추상 클래스)  (0) 2022.10.15
[Java] 다형성  (0) 2022.10.13
[Java] 인터페이스  (0) 2022.09.24
[Java] Eclipse 한글 깨짐 해결하기  (0) 2022.06.09

댓글