public 대신 getter와 setter를 사용하는 이유는 무엇일까
기타
2021. 12. 17. 00:32
getter와 setter를 사용해야 하는 이유 java 공부를 하면서, getter와 setter를 만들어 사용했었는데 문득 어차피 이 객체의 속성을 외부에서 읽거나 쓸 필요가 있다면 그냥 public으로 선언하면 될텐데 왜 굳이 불편하게 getter와 setter를 사용해서 불필요한 코드를 늘려야 하는가에 대한 궁금증이 생겼다. 그래서 찾아보니, 다음과 같은 이유들이 있었다. 속성을 읽거나 쓰는 것과 관련된 동작의 캡슐화 (이를 통해 유효성 검사 등의 추가 기능을 쉽게 추가할 수 있다.) getter와 setter를 사용하여 속성을 노출하면서도 속성의 내부 표현을 숨길 수 있다. 공용 인터페이스를 변경으로부터 격리하여 구현이 변경되는 동안 공용 인터페이스가 일정하게 유지되도록 한다. 속성의 수명 및 ..