[자바/JAVA] 정보은닉 | Private | getter, setter 메서드 생성
- Java
- 2021. 5. 7.
클래스에 멤버 변수를 선언할 때 다른 클래스에서 접근할 수 없도록 private
접근 제어자를 활용한다. 그럼에도 다른 클래스는 해당 클래스의 멤버 변수를 참조할 수 있다. getter와 setter를 통해서다.
private을 통한 정보은닉
접근 제어자를 private으로 선언하면 같은 클래스끼리만 접근이 가능하다. 캡슐화라고도 부르는데, 요는 다른 클래스에서 접근하지 못하게 하기 위해서다.
다른 클래스와의 접근은 public 접근 제어자 형태의 getter, setter메서드가 담당한다. getter와 setter는 반드시 정해진 형식대로 작성해야 한다.
public void set변수명(타입 변수) {
this.변수 = 변수;
} // setter 형식
public 타입 get변수명() {
return 변수;
} // getter 형식
Ex) 이름, 나이, 주민번호 등 멤버 변수를 담은 클래스
class Person {
private String name; // 이름
private int age; // 나이
private int registrationNumber; // 주민번호
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// name Getter, Setter
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// age Getter, Setter
public int getRegistrationNumber() {
return registrationNumber;
}
public void setRegistrationNumber(int registrationNumber) {
this.registrationNumber = registrationNumber;
}
// registrationNumber Getter, Setter
}
Getter 메서드는 멤버 변수에 저장된 값을 반환한다.
Setter 메서드는 입력된 값을 멤버 변수에 대입한다.
두 메서드를 통해 외부 클래스에서 멤버 변수에 접근할 수 있다.
Getters and Setters 자동생성 방법
이클립스는 private 멤버 변수만 선언하면 자동으로 Getters and Setters를 만들어주는 기능을 제공한다.
Source >> Generate Getters and Setters... >> Select All >> Generate
반응형
'Java' 카테고리의 다른 글
[자바/JAVA] 참조 변수 형변환 : 상속 관계 일때 (0) | 2021.05.11 |
---|---|
[자바/JAVA] 다형성이 효율적인 이유 (0) | 2021.05.11 |
[자바/JAVA] 현재 시간 출력하기 (0) | 2021.05.07 |
[자바/JAVA] 상속과 오버라이딩 그리고 Object 클래스 (0) | 2021.05.07 |
[자바/JAVA] 이클립스 인스턴스 변수 자동 초기화하는 법 (0) | 2021.05.06 |