멤버변수를 public 선언하지 않고 getter와 setter를 사용하는 이유

2026.06.17. 19:13

  1. 멤버변수를 저장하지 않고 필요할 때 마다 getter에서 계산 가능

    1. ex) 질량과 중력 멤버 변수로부터 무게를 계산

    2. 내부 필드명이 바뀌더라도 외부 코드를 수정할 필요 없이 메서드만 수정하면 됨.

  2. setter에서 추가적인 로직을 실행할 수 있음

    1. 음수의 나이가 인자로 들어올 경우 무시 : 잘못된 데이터가 들어오는 것을 막을 수 있음 = 유효성 검증

  3. 상속을 통한 다형성 구현 가능