참고자료
- 도서 : Effective Java(이펙티브 자바) 3판 - 조슈아 블로크 (옮긴이 개앞맵시(이복연) 펴낸이 한기성) / 2018.12 인사이트
개요
- Java라는 언어로 코드를 작성할 때 품질 좋은 코드(효과적인 코드)를 작성하는 방법에 대해 정리하고자 합니다.
- 쉽진 않겠지만 Java의 구조 및 용법에 대해 지식으로 정리하고 코드 개선이 필요한 상황에서 활용해보고자 합니다.
Java 언어 명세 (JLS)
자료형
참조타입 (reference type) (= object)
기본타입 (primitive type)
Class의 member
- field
- method
- member class
- member interface
Method Signiture
- method name
- input parameters
- *return value의 type은 포함되지 않는다.
JSL의 유사 정의
- 상속(inheritance)과 서브클래싱(subclassing)이 동의어로 사용됨.
- 인터페이스 상속을 다음으로 표현하였음.
- "클래스가 인터페이스를 구현(implement)
- 또는 "인터페이스가 다른 인터페이스를 확장(extend)
- 지시자를 사용하지 않은 접근 수준 (access level)
JSL에 정의하지 않은 용어
- 공개 API(exported API), 즉 API(Application Programming Interface)는 프로그래머가 클래스, 인터페이스 패키지를 통해 접근할 수 있는 모든 클래스, 인터페이스, 생성자, 멤버, 직렬 form을 말한다.
- 클래스(class), 인터페이스(interface), 생성자(constructor), 멤버(member), 직렬화된 형태 (serialized form)을 총칭해 API 요소(API Element)라 한다.
- 패키지의 공개 API는 패키지의 모든 public class와 interface의 public 또는 protected member와 constructor로 구성된다.
객체 생성과 파괴
- 객체를 만들어야 할 때와 객체를 만들지 말아야 할 때를 구분하는 방법
- 올바른 객체 생성 방법과 불필요한 생성을 피하는 방법
- 제때 파괴됨(소멸됨)을 보장하고 파괴 전에 수행해야 할 정리 작업 관리 요령을 알아본다고 적혀있다.
생성자, 정적 팩터리 메서드(static factory method) 그리고 빌더 (Builder)
이하 내용은 틈틈히 책을 읽으면서 1차적으로 개념들이 정리가 되면 작성해보고자 합니다. 그 전까지는 작성중 상태로 남겨두겠습니다. 😴