정보 은닉

  • 접근 제한자 이용
  • 장점
    1. 개발자의 의도대로 사용자가 사용하게끔 함(개발 안정성)
    2. 외부에 공개하면 안 되는 class를 숨길 수 있음(사용자 편리성)

 

접근 제한자

  • 접근 범위 순위
    • public: 모든 클래스에서 쓸 수 있음
    • protected: package와 동일, 같은 패키지 안에 있는 클래스에서 사용 가능, but, 다른 패키지에서 상속하면 사용 가능, 어떤 메서드를 오버라이딩 할 것을 추천해 줄 때도 사용
    • package: 클래스를 하나의 폴더처럼 분류할 때 쓰임, 폴더명은 보통 레벨 3으로 나눠서 이름에 씀(집단이름.프로젝트.분류), 프로젝트 폴더에 자동으로 인식 및 분류해서 폴더 생성, 같은 패키지 안에 있는 클래스에서 사용 가능, 외부 클래스에서는 private으로 바뀜
    • private: 자기 내부 클래스에서만 있음
    • 다른 클래스의 private 멤버를 사용하는 방법: member field를 private으로 막아 놓고, private field를 사용하는 method를 제공해 줌

<package 사용 예시>

 

 

 

멤버 변수

  • Class 안에 있는 변수, instance가 생성될 때 만들어짐(new)
  • instance는 모든 reference가 사라질 때 같이 사라짐

 

지역 변수

  • method 안에 있는 변수, method가 실행될 때 만들어짐
  • method의 실행이 끝나면 자동으로 사라짐

+ Recent posts