minlog
article thumbnail

 

접근 지정자

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

접근 지정자 설정은 객채를 사용할때 오류를 줄일 수 있다.

 

💡 접근 지정자 변수

필드는 private로 선언하는 것이 좋다. (다이렉트로 필드에 접속하는 일은 없도록 , 상수 빼고)

접근 지정자 사용방법 내용
private private 클래스(..) 같은 클래스 내부에서만 접근가능
(default) 클래스 (..) 같은 패키지 내에서 접근가능
protected protected 클래스 (..) 같은 패키지 내에서 + 상속관계 접근 가능
public public 클래스(..) 모든 패키지에서 생성자 호출 가능

 

💡 GET / SET 메서드

  • private 으로 선언된 멤버 변수 (필드)에 대해 접근, 수정할 수 있는 메서드를 public으로 제공
  • get() 메서드만 제공 되는 경우 read-only 필드
  • 이클립스에서 자동으로 생성됨

 

💡 정보은닉

  • private으로 제어한 멤버 변수도 SET/GET 메서드로 접근이 가능하지만 , private 일때 각 변수에 대한 제한을 SET/GET 메서드에서 제어 할 수 있다.
  • 객체 지향 프로그램에서 정보 은닉은 필요한 외부에서 접근 가능한 최소한의 정보를 오픈함으로써 객체의 오류를 방지하 클라이언트 객체가 더 효율적으로 객체를 활용할 수 있도록 해준다.
private int day;
private int month;
private int year;

private boolean isValid; //기본은 false

public int getMonth() {
    return month;
}
public void setMonth(int month) {
    if (month < 1 || month > 12) {
        isValid = false;
    }else {
        isValid = true;
        this.month = month;
    }

}

 

 

 

캡슐화

  • 정보를 감싸서 꼭 필요한 정보와 기능만 외부에 오픈함
  • 대부분의 멤버 변수와 메서드를 감추고 외부에 통합된 인터페이스만은 제공하여 일관된 기능을 구현 하게 함
  • 각각의 메서드나 멤버 변수를 접근함으로써 발생하는 오류를 최소화 한다.

 

 

profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!