티스토리 뷰

반응형

getter/setter 함수는 자바 클래스의 정보 은닉의 특성을 고려한 방식으로 특정 클래스의 멤버 변수의 접근 제한자를 private로 지정하고 클래스 외부에서는 해당 멤버 변수에 접근하기 위해 setter(값 지정)와 getter(값 리턴) 메소드를 정의하여 제어합니다.

public class Sample {
    
    private String data1;
    private int data2;
    private long data3;

    public String getData1() {
        return data1;
    }

    public int getData2() {
        return data2;
    }

    public long getData3() {
        return data3;
    }

    public void setData1(String data1) {
        this.data1 = data1;
    }

    public void setData2(int data2) {
        this.data2 = data2;
    }

    public void setData3(long data3) {
        this.data3 = data3;
    }
}

▼ 클래스내의 멤버 변수의 개수가 적으면 상관이 없지만 getter/setter 메소드를 구현해야 할 멤버 변수의 개수가 많으면 참으로 난감해집니다. 안드로이드 스튜디오에서는 개발자 편의를 위해 구현된 멤버 변수에 대해서 자동으로 getter/setter 메소드를 생성해주는 기능이 있습니다. 

 


1. getter/setter 메소드 생성

Generate

▼ 코드 영역에서 우클릭 - Generate 를 클릭하거나 단축키 Alt+Insert를 통해 Generate 창을 활성화시킵니다. 

이때 setter/getter 메소드를 생성하고자 하는 클래스 구문안에 포커스를 맞춘 뒤 우클릭 또는 단축키를 사용해야지만 아래와 같은 목록이 뜹니다. 

 

▼ getter 메소드를 생성하고자 할 경우 Getter를 클릭하고 setter 메소드를 생성하고자 한다면 Setter를 클릭해줍니다. 

 

▼ Sample 클래스에 정의된 멤버변수 data1, data2, data3가 목록에 보입니다. 메소드를 생성하고자 하는 멤버 변수를 선택해 OK 버튼을 클릭하면 자동으로 메소드가 생성되는 것을 확인할 수 있습니다.

 

 

반응형