1장 들어가기

정지수 JisooJung·2021년 11월 20일
0

Effective Java 스터디

목록 보기
1/6
post-custom-banner

이 책은 자바 언어와 그 기반 라이브러리를 효과적으로 사용하게끔 구성되었다.

기본 원칙

대부분 명료성(clarity), 단순성(simplicity)에 기반

  • 컴포넌트는 지정한 (예측 가능한) 동작만 수행
  • 컴포넌트는 가능한 한 작되, 너무 작아서도 안됨
  • 컴포넌트 간 의존도는 최소화
  • 코드는 재사용 O, 복사 X
  • 오류는 가능한 한 빨리 잡아야 (웬만하면 컴파일 시)

용어

  • 자료형
자료형포함 요소참조타입(reference type)객체(Object)
인터페이스 (interface)애너테이션(annotation)OO
클래스(class)열거 타입(enum)OO
배열(array)-OO
기본 타입(primitive)-XX
  • 자바 명세를 따르지 않는 용어
자바 명세이펙티브 자바
상속(inheritance)서브클래싱(subclassing)
인터페이스의 상속구현(implement), 확장(extend)
패키지 접근(package access)패키지-프라이빗(package-private)
  • 자바에서 명세되지 않은 용어
    • 공개 API(exported API), 줄여서 API(application programming interface)
      • 프로그래머가 클래스, 인터페이스, 패키지를 통해 접근 가능한 API 요소
      • API 작성자가 지원하기로 약속한 API 요소 (ex. 패키지 내 public 클래스, 인터페이스의 public 혹은 protected 멤버와 생성자)
      • (자바 9) '해당 라이브러리의 모듈 선언(module declaration)에서 공개하겠다고 한' 패키지들의 공개 API (모듈시스템 개념 - 공개 패키지 선택 가능)
      • 관련 용어
        - 사용자(user): API에 접근하는 '사람'
        - 클라이언트(client): API를 사용하는 '클래스(코드)'
        - API 요소: 클래스, 인터페이스, 생성자, 멤버, 직렬화된 형태

Reference

조슈아 블로크Joshua Bloch, 『이펙티브 자바 Effective Java 3/E』, 개앞맵시(이복연) 옮김, 인사이트(2018), p1-5.

profile
Study&Work&Log
post-custom-banner

0개의 댓글