자바의 접근 제어 지시자(Access Modifier), 정보은닉과 캡슐화

Yeppi's 개발 일기·2022년 5월 19일
0

JAVA

목록 보기
12/27

1. 개념

클래스 외부에서
클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드


2. 종류

1) private

  • 같은 클래스 내부에서만 접근 가능

  • 외부 클래스, 상속 관계의 클래스에서 접근 불가

2) 아무것도 없음 (default)

  • 같은 패키지 내부에서만 접근 가능

  • 상속 관계라도 패키지가 다르면 접근 불가

3) protected

👉 직관적이지 않기에 비사용 권장

  • 같은 패키지나 상속관계의 클래스에서 접근 가능
  • 그 외 외부에서는 접근 불가

4) public

  • 클래스의 외부 어디서나 접근 가능


💡 단축키 Alt+Shift+S 💡

  • 마우스 우클릭→ Source Generate Getters and Setters → select all

3. 정보은닉과 캡슐화

정보 은닉을 활용한 캡슐화

1) 정보 은닉(Information Hiding)

  • private 으로 제어한 멤버 변수도
    public 메서드가 제공되면 접근 가능하긴 함

But,

  • 변수가 public 으로 공개되었을 때보다 private 일때
    각 변수에 대한 제한public 메서드에서 제어 할 수 있음
  • 외부에서 접근 가능한 최소한의 정보를 오픈함으로써
    👉 객체의 오류를 방지 + 클라이언트 객체가 더 효율적으로 객체를 활용

2) 캡슐화(Encapsulation)

  1. 꼭 필요한 정보와 기능만 외부에 오픈

  2. 대부분의 멤버 변수와 메서드를 감춤

  3. 외부에 통합된 인터페이스만은 제공하여, 일관된 기능을 구현

  4. 각각의 메서드나 멤버 변수를 접근함으로써 발생하는 오류를 최소화

profile
imaginative and free developer. 백엔드 / UX / DATA / 기획에 관심있지만 고양이는 없는 예비 개발자👋

0개의 댓글