본문 바로가기

Develop/Effective JAVA

[Effective JAVA] 1장. 들어가기

반응형

기본 원칙

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

  • 컴포넌트는 사용자를 놀라게 해서는 안된다.
  • 코드는 복사가 아니라 재사용되어야 한다.
  • 컴포넌트 사이의 의존성은 최소로 유지해야 한다.
  • 오류는 만들어지자마자 가능한 한 빨리 (되도록 컴파일타임에) 잡아야 한다.

용어

  • 컴포넌트: 개별 메서드부터 여러 패키지로 이루어진 복잡한 프레임워크까지 재사용 가능한 모든 소프트웨어 요소
  • 공개 API, API: 프로그래머가 클래스, 인터페이스, 패키지를 통해 접근할 수 있는 모든 클래스, 인터페이스, 생성자, 멤버, 직렬화된 형태를 말한다. 대략적으로 얘기하면, 패키지의 공개 API는 그 패키지의 모든 public 클래스와 인터페이스의 public 혹은 protected 멤버와 생성자로 구성된다.
  • 사용자(user): API를 사용하는 프로그램 작성자(사람)
  • 클라이언트(client): API를 사용하는 클래스(코드)

자료형

자바에서 지원하는 자료형은 4가지

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

애너테이션(annotation): 인터페이스의 일종

열거 타입(enum): 클래스의 일종

참조 타입(reference type)

인터페이스, 클래스, 배열은 참조 타입이다.

 

즉, 클래스의 인스턴스와 배열은 객체이다.

기본 타입은 객체가 아니다.

클래스(class)의 멤버

  • 필드
  • 메서드
  • 멤버 클래스
  • 멤버 인터페이스
  • 메서드 시그니처: 메서드의 이름과 입력 매개변수의 타입들로 이뤄진다.

메서드 시그니처오버 로딩을 위해 사용된다. 

funcA는 오버 로딩된다.

자바 컴파일러는 오버로딩된 함수를 메서드 시그니처를 통해 식별한다.

 

링크

반응형