-
[JAVA] 접근 제어 지시자와 캡슐화(encapsulation)Language/Java 2021. 6. 3. 14:08
접근 제어 지시자(access modifier)- 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드
- private: 같은 클래스 내부에서만 접근 가능(외부 클래스, 상속 관계의 클래스에서도 접근 불가)
- default: 같은 패키지 내부에서만 접근 가능(상속 관계라도 패키지가 다를 경우 접근 불가)
- protected: 같은 패키지나 상속관계의 클래스에서 접근 가능, 그 외의 경우 접근 불가
- public: 클래스의 외부 어디서나 접근 할 수 있다.
get( ) / set( ) 메서드(method)
- private로 선언된 멤버 변수에 대해 접근, 수정할 수 있는 메서드를 public으로 제공
- get메소드의 경우 읽기 전용이고, set메소드의 경우 객체의 속성을 변경시킬 수 있다.
- 이클립스, 넷빈즈등 자동으로 생성시켜주는 기능이 있다.
정보 은닉- private로 제어한 멤버 변수도 public메서드가 제공되면 접근 가능하지만 변수가 public으로 공개되었을 때 보다 private일때 각 변수에 대한 제한을 public 메서드에서 제어할 수 있다.
캡슐화(encapsulation)
- 꼭 필요한 정보와 기능만 외부에 공개한다.
- 대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만은 제공하여 일관된 기능을 구현하게 한다.
- 각각의 메서드나 멤버 변수를 접근함으로써 발생하는 오류를 최소화한다.
'Language > Java' 카테고리의 다른 글
[JAVA/디자인패턴] 싱글톤 패턴(singleton pattern) (0) 2021.06.03 [JAVA] static 변수와 메서드 (0) 2021.06.03 [JAVA] 생성자(constructor)와 오버로딩(overloading) (0) 2021.06.03 [JAVA] 인스턴스와 힙 메모리(heap memory) (0) 2021.06.02 [JAVA] 함수(function) (0) 2021.06.02