본문 바로가기

Final2

이펙티브 자바 - 계승을 위한 설계, 문서화 - 이 글은 Effective Java 를 기반으로 작성되었습니다. - 개요 이전의 '계승대신 구성하라'는 규칙에서는 계승을 고려한 설계나 문서화가 되지 않은 클래스에 대해 하위 클래스 생성시 문제점을 살펴보았다. 그렇다면 '계승을 고려한 설계나 문서화'의 의미란 무엇인가? - 재정의 가능 메서드 문서 작성 재정의 가능 메서드는 non-final 인 public 이나 protected 접근제어자를 가진 메서드나 생성자를 말한다. 이들에 대해 재정의 가능 메서드의 호출 순서나 호출 결과를 문서로 남겨야 한다. 관습적으로 주석 맨 마지막 부분에 작성하며 '이 구현은~'으로 시작한다. /** * {@inheritDoc} * * This implementation iterates over the collecti.. 2021. 11. 21.
이펙티브 자바 - 변경가능성 최소화 - 이 글은 Effective Java 를 기반으로 작성되었습니다. - 변경 불가능(immutable) 클래스 변경 불가능 클래스란 수정할 수 없는 클래스를 말하며, 객체가 생성될 때의 정보가 살아있는 동안 그대로 보존된다. 우리가 자주 사용하는 String, 기본 자료형(primitive type), Big Integer, Big Decimal 등이 모두 변경 불가능 클래스에 해당한다. 변경 불가능 클래스는 설계와 구현이 쉬우며 Client 가 사용하기도 쉽다. 그리고 오류 발생가능성이 적어 훨씬 안전하다. 변경 불가능 클래스가 지켜야 할 5 가지 규칙은 아래와 같다. 상태 변경 메소드(ex - setter, mutator) 를 제공하지 않는다. 계승(extends) 를 막아야 한다. 보통은 final.. 2021. 10. 30.