접근제어자를 사용하는 이유!
- 객체가 가진 고유의 멤버 변수값들이 외부에서 잘못 변경되는 것을 막기 위해서. 즉 실수를 줄이기위한 의도.
public > protected > default > private
l public : 접근을 제한이 없음
l protected : 동일한 패키지 내에 존재하거나, 파생클래스에서만 접근 가능(상속)
l default : 아무런 접근 제한자를 명시하지 않으면 default 값이 되며, 동일한 패키지 내에서만 접근이 가능
l private : 자기 자신의 클래스 내에서만 접근이 가능
자세한 예시는 아래링크 참조
https://mainia.tistory.com/5574