Getter와 Setter 메소드 사용 이유?
객체 지향 프로그래밍에서 객체의 데이터는 객체 외부에서 직접적으로 접근하는 것을 막기 때문에 외부에서 마음대로 읽고 변경할 경우 객체 무결성이 깨질 수 있기 때문에 메소드를 통해서 데이터를 변경하는 방법을 선호한다.
private로 선언된 멤버 변수(필드)에 대해 접근, 수정할 수 있는 메소드를 public으로 제공한다.
setter는 값 저장 유도하는 메소드
getter는 값을 return 받게 하는 메소드
// get, set 메소드 선언
public class Example {
// 필드를 private로 선언해 외부로부터 보호하는 게 좋다.
private int sum;
// get 메소드
public int getSum() {
return sum;
}
// set 메소드
public void setSum(int sum) {
if(sum<10) {
this.sum = 0;
} else if(sum<20) {
this.sum = 1;
} else {
this.sum = 2;
}
}
}
// get, set 메소드 사용
public class MainExample {
public static void main(String[] args) {
Example example = new Example();
// set 메소드 사용해 데이터 입력
example.setSum(15);
// get 메소드 사용해 데이터 가져오기
System.out.println(example.getSum());
}
}
'Java' 카테고리의 다른 글
연산자, Args, printIn/printf, 형 변환 (0) | 2022.05.01 |
---|---|
Scanner 클래스 (0) | 2022.05.01 |
[예제] 객체 간 협력 (0) | 2022.03.23 |
StringBuffer (0) | 2022.03.21 |
생성자 Constructor (0) | 2022.03.19 |