1. private 접근자
객체 지향의 원칙 중 하나는 정보은닉(Information Hiding) 이다. 객체의 구체적인 정보를 외부에 노출하지 말라는 것이다. 이러한 이유로 자바에서는 클래스를 작성할 때 모든 필드를 private으로 숨기고 public 메소드를 통해 간접적으로 필드를 다룬다.
2. 무결성이란?
데이터의 정확성과 일관성을 유지하고 보증하는 것
3. 무결성이 필요한 이유?
외부에서 가격이라는 필드에 직접 접근한다면 0보다 낮은 값을 줄 수 도 있다. 이 경우에는 객체의 무결성이 깨지기 때문에 이를 방지하기 위해서 Getter/Setter를 사용하여 데이터의 무결성을 지켜준다.
4. Getter/Setter를 사용할 때 왜 데이터 무결성이 지켜지는가?
Getter, Setter를 이용해서 데이터를 생성 및 접근을 하게되면 들어오는 값을 바로 저장하는 것이 아니라, 한번 검증하고 처리할 수 있도록 하기 때문에 데이터의 무결성이 지켜진다.
필드를 private로 만들어 외부의 접근을 제한한 후, Setter를 사용해 전달받은 값을 내부에서 가공해 필드에 넣어주는 방식을 사용하고, Getter로 필드의 값을 숨긴 채 내부에서 가공된 값을 꺼낼 수 있다.