객체지향 프로그래밍에서는 클래스 내부 변수를 private 으로 선언하여 외부에 노출하지 않는 것을 선호합니다. 또한 무의미한 setter 와 getter 는 객체를 객체가 아닌 단순한 데이터 Sturucture 로 간주해 버릴 수도 있으니, 신중하게 외부로 내부의 속성을 노출하라고 말합니다. 그 이유는 무엇일까요? 아래의 클래스를 한번 봅시다. public class Point { public double x; public double y; } 이렇게 했을때 문제는 무엇일까요? 문제는 외부에서 Point Class 의 Property 에 직접적으로 붙을 수 있다는 것입니다. 예를 들면 아래와 같이 말이죠. Point point = new Point(); point.x = 10; point.y = 20;..