인스턴스 상태
객체마다 달라지는 값은 필드로 두고 생성자에서 초기화합니다.
필드, 메서드, 생성자, 정적 멤버를 역할별로 분리하면 클래스가 외부 API와 내부 상태를 더 명확하게 드러냅니다.
객체마다 달라지는 값은 필드로 두고 생성자에서 초기화합니다.
상태를 읽거나 바꾸는 로직은 인스턴스 메서드에 둡니다.
객체 상태와 무관한 상수·유틸리티는 클래스 이름으로 접근합니다.
호출자가 의존해도 되는 멤버만 공개하고, 나머지는 내부 구현으로 숨깁니다.
잘못 바뀌면 객체가 깨지는 값은 메서드를 통해서만 갱신하게 만듭니다.