Spring Boot/JAVA
[JAVA] get(getter) / set(setter)
구석탱
2022. 1. 6. 20:32
캡슐화
get(getter), set(setter)을 하는 이유는 중요한 데이터를 보존 또는 보호하기 위함이다.
클래스에 담는 내용(예를들어 변수) 중 중요한 데이터나 기능을 외부에서 직접적으로 접근하지 못하게 (private / protected) 막고, 해당 내용을 외부에서 변경 혹은 가져오기 위해 get(getter), set(setter) 를 통해 값을 전달받고 전달함으로써 데이터의 무결성을 지킨다.
아래와 같이 userId와 userPw에 대한 정보를 캡슐화 한 클래스를 만든다.
public class TestA {
private String userId;
private String userPw;
// userId에 대한 get(getter)
public String getUserId(){
return userId;
}
// userId에 대한 set(setter)
public String setUserId(String userId){
this.userId = userId;
}
// userPw 대한 get(getter)
public String getUserPw(){
return userPw;
}
// userPw 대한 set(setter)
public String setUserPw(String userPw){
this.userPw = userPw;
}
}
다른 클래스에서 TestA 클래스에 있는 값에 새로운 값을 넣거나, 저장되어있는 값을 불러오고 싶을 경우에는 get(getter), set(setter) 를 사용하여 값을 저장하고, 불러온다.
public class TestB{
public void test(){
// TestA 클래스 생성
TestA a = new TestA();
// userId 셋팅하기
a.setUserId("RoomKok");
// userId 가져오기
a.getUserId();
// userPw 셋팅하기
a.setUserPw("1234");
// userPw 가져오기
a.getUserPw();
}
}