[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;
}
}
Leave a comment