[Java] getter Setter 사용이유

📌getter vs setter

✅getter setter를 사용하는 이유

getter와 setter를 사용하는 근본적인 이유는 “객체지향”에서 애기하는 캡슐화(encapsulation)를 달성하기 위함이다.

캡슐화란 서로 관련있는 데이터와 그 데이터를 다루는 메서드를 하나의 클래스로 묶는 것을 의미하는데 캡슐화의 가장 큰 장점은 다른 객체에게 자신의 정보를 숨기고, 오직 연산만을 통해서 접근할 수 있도록 하는 정보은닉(Information Hidding)이 가능하다는 것이다.

예를 들어 클래스의 맴버변수를 public이 아닌 private으로 설정한 다음 setter 메세드를 구현하지 않고 getter메서드만 구현하면, 외부에서 그 변수에 접근해서 값을 변경할 수 있는 방법은 없으니, 외부에서는 오르지 읽기만 가능한 read-only 만 하도록 만들어줄수있다.

setter 메서드를 이용하면 외부에서 할당하는 값에 조건을 설정하여 프로그램의 안전성을 높일수있다.


✅예제코드

package _1;

public class Student {

    private String name;  //접근제어자 private 이클래스 말고는 외부클래스 접근 불가,
    private String no;    //접근제어자 private 이클래스 말고는 외부클래스 접근 불가,

    public Student(String name, String no) {
        super();
        this.name = name;
        this.no = no;
    }


    //getter, setter를 만듬

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getNo() {  
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }
}

Categories:

Updated:

Leave a comment