내가 getter setter를 자바로 배울땐
필드 접근을 개발자 의도대로 제어하기 위해 저런 패턴을 쓰는거라 배웠고

실제로 DTO, VO 말고 getter, setter 필요한 상황이면
필요한 맴버만 골라서 getter, setter 를 열어주는 쪽으로 클래스를 설계해 왔습니다.


근데 코틀린 공부하다 보니까 맴버를 선언하면 그냥 


A.c = 10


이런식으로 하라고 하더군요

그러면서 이미 내부적으로 getter setter 구현 되어있으니 안심하고 쓰라고 하는데

처음엔 저도 오~ 귀찮게 set get 없이 그냥 구현하면 되겠구나~ 했다가

다시 곰곰히 생각해보니


애초에 사용자가 의도 외의 목적으로 접근 하지 말라고 getter setter 패턴이 나온거로 아는데

private 를 걸든 말든 암튼 내부적으로 게터 세터 구현 했으니 그냥 쓰면 된다는게

이게 public 걸어둔거랑 도데체 안전상으로 무슨 차이가 있는건지 의문이 들었습니다.


여러분들은 어떻게 생각하시나요?

혹시 제가 잘못 이해한거라면 지식나눔 바랍니다.

감사합니다.