Books/01. 이펙티브자바

[JAVA] 이펙티브 자바 1장. 들어가기

유뱅유뱅뱅 2021. 6. 26. 16:07

1장. 들어가기

1. 이 책은 자바 언어와 그 기반 라이브러리, 즉 java.lang, java.util, java.io, java.util.concurrent, java.util.function 같은 하위 패키지를 효과적으로 사용하게끔 구성했음(때때로 다른 패키지도 다룸)

2. 많은 디자인 패턴과 관용구를 설명해줌

3. 이 책의 규칙 대부분은 아주 핵심적인 기본 원칙 몇 개에서 파생됨
바로 명료성단순성임.
- 컴포넌트는 사용자를 놀라게하는 동작을 해서는 절대는 안됨.
- 코드는 복사되는게 아니라 재사용되어야함.
- 컴포넌트 사이의 의존성은 최소로 유지해야함.

4. 기술 용어는 대부분 자바 8용 언어 명세를 따르며, 주요사항은 아래와 같음
 - 자바가 지원하는 타입은 인터페이스, 클래스, 배열, 기본타입 까지 총 4가지임.
 - 애너테이션(annotation)은 인터페이스의 일종
 - 열거 타입(enum)은 클래스의 일종
 - 인터페이스, 클래스, 배열은 참조타입(reference type)이라고 함
 - 즉, 인터페이스, 클래스, 배열은 객체(object)이고 기본타입은 그렇지 않음
 - 클래스의 멤버로는 필드, 매서드, 멤버 클래스, 멤버 인터페이스가 있음
 - 메서드 시그니처는 메서드의 이름과 입력 매개변수(parameter)의 타입들로 이뤄짐(반환값의 타입은 시그니처에 포함되지 않음
)

* 참고
메소드 시그니처(method signature)
메소드 오버로딩의 핵심은 바로 메소드 시그니처(method signature)에 있습니다.
메소드 시그니처란 메소드의 선언부에 명시되는 매개변수의 리스트를 가리킵니다.
만약 두 메소드가 매개변수의 개수와 타입, 그 순서까지 모두 같다면, 이 두 메소드의 시그니처는 같다고 할 수 있습니다.