티스토리 뷰

반응형

이 책은 자바 언어와 자바 기반 라이브러러를 효과적으로 사용하도록 하기 위한 책이다.

이 책은 성능에 집중하는 대신 프로그램을 명확하고, 정확하고, 유용하고, 견고하고, 유연하고, 관리하기 쉽게 짜는 데 집중한다.

 

📝 2판 출간 이후 자바 플랫폼에 추가된 신기능을 밀도 있게 다룬 아이템 리스트

기능 아이템 번호 도입된 자바 버전
람다 42~44 자바 8
스트림 45~48 자바 8
옵셔널 55 자바 8
인터페이스의 디폴트 메서드 21 자바 8
try-with-resources 9 자바 7
@SafeVarargs 32 자바 7
모듈 15 자바 9

 

✅ 이 책의 규칙 대부분은 아주 핵심적이 기본 원칙 명료성(clarity)과 단순성(simplicity)에서 파생된다.

이 책에서 컴포넌트란 개별 메서드부터 여러 패키지로 이루어진 복잡한 프레임워크까지 재사용 가능한 모든 소프트웨어 요소를 뜻한다.

 

  • 컴포넌트는 정해진 동작이나 예측할 수 있는 동작만 수행해야 한다.
  • 컴포넌트는 가능한 한 작되, 그렇다고 너무 작아서는 안 된다.
  • 코드는 복사되는 게 아니라 재사용되어야 한다.
  • 컴포넌트 사이의 의존성은 최소로 유지해야 한다.
  • 오류는 만들어지자마자 가능한 한 빨리 (되도록 컴파일타임에) 잡아야 한다.

 

🔤 기술 용어는 대부분 자바 8용 언어 명세를 따른다.

자바가 지원하는 타입(type; 자료형) 4가지

 

  • 인터페이스(interface)
  • 클래스(class)
  • 배열(array)
  • 기본 타입(primitive)

애너테이션(annotation)은 인터페이스의 일종이며 열거 타입(enum)은 클래스의 일종이다.

네 가지 타입 중 처음 세 가지는 참조 타입(reference type)이라 한다. 즉, 클래스의 인스턴스와 배열은 객체인 반면, 기본 타입 값은 그렇지 않다.

클래스의 멤버로는 필드(field), 메서드(method), 멤버 클래스, 멤버 인터페이스가 있다.

메서드 시그니처는 메서드 이름과 입력 매개변수(parameter)의 타입들로 이뤄진다(반환값의 타입은 시그니처에 포함되지 않는다).

 

➕ 자바 언어 명세가 정의하지 않은 기술 용어도 몇 개 사용한다.

  • 공개 API(experted API), 줄여서 API(application programming interface): 프로그래머가 클래스, 인터페이스, 패키지를 통해 접근할 수 있는 모든 클래스, 인터페이스, 생성자, 멤버, 직렬화된 형태(serialized form)를 말한다. (언어 구성 요소 중 하나인 인터페이스와 헷갈리지 않기 위해 흔히 쓰는 인터페이스 대신 API를 쓴다.)
  • API의 사용자(user): API를 사용하는 프로그램 작성자(사람)
  • API의 클라이언트(client): API를 사용하는 클래스(코드)
  • API 요소(API element): 클래스, 인터페이스, 생성자, 멤버, 직렬화된 형태를 총칭한 것. 공개 API는 그 API를 정의한 패키지 밖에서 접근할 수 있는 API 요소로 이루어진다. 패키지의 공개 API는 그 패키지의 모든 public 클래스와 인터페이스의 public 혹은 protected 멤버와 생성자로 구성된다.
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함