객체지향 프로그래밍(Object-Oriented Programming) 언어인 자바에서는 외부에서 마음대로 데이터를 읽고, 변경하게되면 객체의 무결성이 깨질 수 있기 때문에 데이터를 보호하기 위해 캡슐화를 통해 외부에서 직접적으로 접근하는것을 막아두는 경우가 있다.
이때 사용하는 메소드가 Getter 와 Setter로, 해당 메소드를 사용하면 객체의 무결성을 해치지 않고, 데이터를 안전하게 사용하는 것이 가능하다.
*캡슐화 : 클래스 안에 서로 연관있는 속성과 기능들을 하나의 캡슐(capsule)로 만들어
데이터를 외부로부터 보호하는 것
📌 Setter
외부로부터 데이터를 전달 받아 멤버변수에 저장.
매개변수만 있고, 리턴값을 없는 메소드(void)로 정의해야한다.
📌 Getter
내부의 멤버변수에 저장된 값을 외부로 리턴.
매개변수는 없고, 리턴값만 있는 메소드(int, string, double, ...)로 정의한다.
메서드명은 주로 getXXX() 메소드 형식으로 지정하고, XXX은 해당 멤버변수의 변수명을 사용한다.
📌 Getter, Setter 규칙
private 변수를 다른 클래스에 꺼내는 메서드는 get + 변수명(첫글자 대문자)
private 변수에 값을 초기화하는 메서드는 set + 변수명(첫글자 대문자)
ex.
public class A {
private int num = 10;
public int(데이터 타입) getNum() {
return a(getNum의 리턴 값);
puvlic void(리턴 값이 없는 메소드) setNum() {
this.a(필드 값) = a(setter 로 받아 온 데이터 값);
}