TIL-20-04-23
Updated:
배운 것
캡슐화를 위한 private과 Getter, Setter 메소드
Setter
- 객체 지향 프로그래밍에서는 객체의 필드를 객체 외부에서 직접 접근하는 것을 막는다.
- Why? 외부에서 변경할 경우 객체의 무결성이 깨지기 때문. 따라서, 메소드를 통해 필드를 변경하는 방법을 선호
- 필드는 외부에서 접근할 수 없도록 막고(private) 메소드는 공개(public)
- Why? 메소드는 매개값을 검증해서 유효한 값만 객체의 필드로 저장할 수 있기 때문.
- 이러한 역할을 하는 메소드가 Setter
Getter
- 외부에서 객체의 데이터를 읽을 때도 메소드를 사용하는 것이 좋음
- 메소드로 필드값을 가공한 후 외부로 전달하면 되는데 이 메소드가 Getter
클래스를 선언할 때 필드를 private로 선언해서 외부로부터 보호하고, 필드에 대한 Setter와 Getter를 작성해서 필드값을 안전하게 변경/사용하는 것이 좋다.
- 생성자 오버로딩