자바라는 언어의 큰 특징 및 객체지향의 Getter/Setter에 대하여 적어본다.
해당 메서드를사용하는 이유는 필드 값에 부적절한 값이 대입되는 것을 막기 위해서이다.
(각 객체들의 캡슐이 깨지지 않게 하기위함도 있으며, 외부로 부터 변수를 보호 및 숨김으로써 접근하는것을 막으며, 안정성 확보도 있다.)
추가로 안정성 확보라고 말한것은, 프로젝트의 보안을 위해서 접근제어자인 private을 통해서 외부접근을 막고 Getter/Setter를 통해서 접근하며 이 또한 객체의 무결성을 보장하기 위함이다.
(객체의 무결성의 대한 간단한 질문/응답의 설명은 링크로..! ↓↓↓↓)
https://okky.kr/article/716403?note=1979724
OKKY | 객체의 무결성이 무엇인가요?
Getter와 Setter를 사용하는 이유가 객체의 무결성을 보장하기 위함 이라고 하는데, 객체의 무결성 이라는게 무엇인가요?
okky.kr
private String age;
// setter age의 값을 세팅(변경)
public void setAge(String age) {
this.age = age;
}
// getter age의 값을 호출(불러오기)
public String getAge() {
return this.age;
}
- Get → 값을 가져오는것
: 반드시 소문자 get을 접두사로 사용
: get 다음에 이어지는 단어의 첫번째 글자는 반드시 대문자로 작성
: 반드시 리턴값이 존재해야함
: 매개변수가 없어야함 - Set → 값을 설정하는것
: 반드시 소문자 set을 접두사로 사용
: set 다음에 이어지는단어의 첫번째 글자는 반드시 대문자로 작성
: 반드시 리턴값이 없어야함. (무조건 void형)
: 매개변수가 있어야함.
위와 같은 주의사항이 있으며 메인 클래스에서 저것을 이용한다는 예제를 보자.
(get/set이 존재하는 클래스는 Person이라고 치고 메인클래스는 test라고 작성한다는 가정)
public class test {
public static void main(String[] args) {
Person ps = new Person(); // Person 인스턴스 생성
ps.setAge("스물아홉살"); // 나이 변수 수정(Setter 메서드 사용)
System.out.println("나이 : " + ps.getAge()); // getter 메서드로 변수값을 읽어오는 방법
}
}
// 출력
// 나이 : 스물아홉살