[자바/JAVA] 정보은닉 | Private | getter, setter 메서드 생성

클래스에 멤버 변수를 선언할 때 다른 클래스에서 접근할 수 없도록 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

반응형

댓글

Designed by JB FACTORY