컴포넌트 규칙
- 명료성과 단순성이 포함되어야 한다.
- 컴포넌트는 사용자를 놀라게해선 안되고 예측이 가능해야 한다.
- 컴포넌트는 가능한 작되, 너무 작아서는 안된다.
- 코드는 복사되는게 아닌 재사용되어야 한다.
- 컴포넌트 사이의 의존성은 최소로 해야한다.
- 오류는 발견하자마자 가능한 빨리, 되도록이면 컴파일시 잡아야 한다.
"규칙을 배운 후 언제 그 규칙을 깨도 되느냐를 익혀야 한다."
"이 책은 성능보다는 프로그램을 명확하고 정확하고 견고하고 유연하고 관리하기 쉽게 작성하는데 목적을 둔다"
용어 개념 정리
타입
- 인터페이스
- 클래스
- 배열
- 기본타입
- 애너테이션(인터페이스의 일종)
- 열거 타입(클래스의 일종)
- 인터페이스, 클래스, 배열은 참조 타입 -> 즉, 인터페이스, 클래스의 인스턴스 또는 배열은 객체이다.
클래스
- 필드
- 메서드
- 메서드 시그니처(메서드의 이름과 메서드의 매개변수로 구별, 반환값의 타입은 이에 포함되지 않는다.)
- 멤버 클래스
- 멤버 인터페이스
책속의 용어
- 상속 = 서브클래싱
- 클래스가 인터페이스를 구현한다.
- 인터페이스가 다른 인터페이스를 확장한다.
- 아무것도 명시하지 않은 접근 수준 = 패키지-프라이빗
- API = 프로그래머가 클래스, 인터페이스, 패키지를 통해 접근할 수 있는 모든 클래스, 인터페이스, 생성자, 멤버, 직렬화된 형태를 의미.
- 사용자 = API를 작성하는 사람
- 클라이언트 = API를 사용하는 사람
- API 요소 = 클래스, 인터페이스, 생성자, 멤버, 직렬화된 형태
- 공개 API = 그 API를 정의한 패키지 밖에서 접근할 수 있는 API 요소로 이루어진다. (클라이언트가 접근 가능)
-> 그 패키지의 public 클래스, 인터페이스의 public, protected 멤버, 생성자
- 모듈 시스템 = 자바9에서 생긴 것으로 해당 라이브러리의 모듈 선언 안에서 공개하겠다고 선언한 패키지만 API로 설정하고 외부에 공개한다.
'Language > Java Plus' 카테고리의 다른 글
Effective JAVA - Item5 : 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라. (0) | 2023.06.22 |
---|---|
Effective JAVA - Item4 : 인스턴스화를 막으려거든 private 생성자를 사용하라. (0) | 2023.06.10 |
Effective JAVA - Item3 : private 생성자나 열거 타입으로 싱클턴임을 보증하라. (0) | 2023.06.07 |
Effective JAVA - Item2 : 생성자에 매개변수가 많다면 빌더를 고려하라. (0) | 2023.06.02 |
Effective JAVA - Item1 : 생성자 대신 정적 팩토리 메서드를 고려하라. (1) | 2023.05.16 |