본문 바로가기
back-end/JAVA

30) 접근제어자와 캡슐화(encapsulation)

by 모두의 향연 2021. 6. 7.
728x90
반응형

30) 접근제어자와 캡슐화(encapsulation)

 

1. 접근제어자와 캡슐화

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

-외부로부터 데이터를 보호하기 위해서

public은 접근 제한이 없다 보니 int의 범위 ±20억 사이에 아무 값이나 넣어도 그 값이 출력된다.

근데 시, 분, 초의 범위는 결정되어 있어서 범위 이외값이 들어가면 데이터가 보호되지 않는다.

그래서

접근제어자를 private로 하여 외부에서 직접 접근하지 못하도록 한다.

대신에 메서드를 public으로 설정하여 내부에서는 간접 접근을 가능하게 만든다.

 

 

-외부에서 불필요한, 내부적으로만 사용되는 부분을 감추기 위해서

isNotValidHour메서드의 경우 제어자를 굳이 public으로 쓸 필요 없다.

내부에서만 맞는지 아닌지를 판단하면 되므로, private를 사용하여 테스트할 범위를 줄인다.

별거 아닌거 같지만, public을 썼으면 외부까지 뒤져야 하는 수고가 있다.

확인할 수 있는 범위를 줄일 수 있는게 장점이다.

 

 

 

*유튜브 남궁성 선생님의 `자바의 정석`을 참고하여 만들었습니다*
*자세히 보고 싶은 분들은 유튜브 가서 보시면 됩니다*

 

728x90
반응형