Language/Java

[Java] Getter, Setter 메서드 정리

pongic 2022. 10. 11. 19:28
반응형
Getter, Setter 사용 이유

자바에서는 데이터 보호와 은닉을 위한 효과적인 방법으로 접근 제어자를 사용한다.

객체지향의 캡슐화의 목적을 달성하면서도 데이터의 변경이 필요한 경우는 getter와 setter 메서드를 사용한다.

 

대표적으로 private 접근제어자가 포함되어 있는 객체의 변수의 데이터 값을 추가하거나 수정하고 싶을 때 사용

 

코드 예시

public class GetterSetterTest {
    public static void main(String[] args) {
        Worker w = new Worker();
        w.setName("김코딩");
        w.setAge(30);
        w.setId(5);

        String name = w.getName();
        System.out.println("근로자의 이름은 " + name);
        int age = w.getAge();
        System.out.println("근로자의 나이는 " + age);
        int id = w.getId();
        System.out.println("근로자의 ID는 " + id);
    }
}

class Worker {
    private String name; // 변수의 은닉화. 외부로부터 접근 불가
    private int age;
    private int id;

    public String getName() { // 멤버변수의 값 
        return name;
    }

    public void setName(String name) { // 멤버변수의 값 변경
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if(age < 1) return;
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}

/* 출력값
근로자의 이름은 김코딩
근로자의 나이는 30
근로자의 ID는 5
*/

 

Setter 메서드

외부에서 메서드에 접근하여 조건에 맞을 경우 데이터 값을 변경 가능하게 해 준다.

일반적으로 메서드명에 set- 을 붙여서 사용한다.

 

Getter 메서드

설정한 변수 값을 읽어오는 데 사용하는 메서드이다.

 

 

Setter와 Getter 메서드를 활용하면 데이터를 효과적으로 보호하면서도 의도하는 값으로 값을 변경하여 캡슐화를 보다 효과적으로 달성할 수 있다.

반응형