일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HTML
- 월칙
- 뉴 컨피던스
- 이펙티브 자바
- 과제의 분리
- 공헌감
- 수부타이
- kubernetes
- 부자의그릇
- 아웃풋법칙
- colllection
- 쿠버네티스
- 칭기즈칸의 위대한 장군 수부타이
- 히든 스토리
- sentry
- 참조 계수
- 레퍼런스 복사
- java
- apache kafka
- 도파민형 인간
- ESG
- Infresh
- Container
- docker
- node
- try-with-resources
- 모두가 기다리는 사람
- try width resources
- 비메모리 자원
- CSS
- Today
- Total
Hi
Java 최선의 프로그래밍 지침 본문
대부분의 규칙은 몇 개의 기본적 원칙 - 명료함(clarity)과 단순함(simplicity)
각 모듈은 사용자가 예상할 수 없는 방식으로 동장하면 안됨
(가능한 작아야 하지만, 그렇다고 너무 작아져서는 안된)
모듈 - 재사용 가능한 컴포넌트. (개별 메소드 뿐 아니라 여러 패키지로 구성된 복잡한 시스템까지 아우름)
'코드'는 복사하기보단 재사용해야 한다.
모듈 간 의존성은 가능한 줄여야 한다.
오류는 코드에 끼어든 즉시, 바람직하게는 컴파일 시점에 탐지가능 하도록 한다.
자바는 네 가지 유형의 자료형(type)을 지원.
- 인터페이스(interface. 어노테이션 포함), 클래스(class, 열거 자료형 enum 포함), 배열(array), 기본 자료형(primitive type)
참조 자료형 (reference type)
- 인터페이스(interface. 어노테이션 포함), 클래스(class, 열거 자료형 enum 포함), 배열(array)
클래스로 만든 개체(instance)와 배열 -> 객체(object)이다.
계승(inheritance) <=> 하위 클래스 정의(subclassing)
접근 권한을 명시하지 않았을 때 가능한 접근 수준(access level) <=> package-private <=> 기본 접근 권한(default access)
공개 API(exported API) ; 프로그래머들이 클래스, 인터페이스, 패키지를 사용할 때 이용하는 클래스, 인터페이스, 생성자, 멤버, 그리고 직렬화 형식(serialized form)을 가리키는 말. (application programming interface)
API를 사용해 구현된 클래스 - API의 클라이언트(client)
출처 : 이펙티브 자바
'Programming > Java' 카테고리의 다른 글
비메모리 자원이 있는 객체와 Try with Resources (0) | 2018.03.29 |
---|---|
Buffer와 Cache (0) | 2018.03.29 |
Java의 잘못 설계된 라이브러리의 특징 (멀티 스레드 안정성) (0) | 2018.03.29 |
스택을 만들어보자 (0) | 2018.03.29 |
Iterator의 순회 (0) | 2018.03.28 |