1. 클래스명은 반드시 대문자
- MyClass (o), myclass(x), myClass(x)
2. 패키지를 표현하는 이름은 모두 소문자
- com.daybyday (o)
- 반드시 도메인 이름으로 소문자를 사용해야 함
- 충돌 방지를 위해 패키지명은 보통 도메인 역순으로 함
(도메인이 www.myhouse.com 이면 패키지명은 com.myhouse)
3. 변수 이름은 반드시 소문자로 시작하고 카멜(낙타)명명법 이용
- 카멜 (낙타)처럼 중간에 혹이 볼록(凸)하게, 두 단어 연결시 중간 단어 앞글자만 대문자 작성
(Account account (o)) (evenHandler(o))
4. 일반적인 변수의 이름은 타입의 이름과 동일하게 지정
- public void setTopic(Topic topic) => (o)
- 코드의 복잡도를 줄여줌
- 변수 이름만으로 타입을 손쉽게 유추 가능하게 해줌
5. 넓은 범위에 영향을 미치는 변수 : 긴 이름 / 좁은 범위 변수 : 짧은 이름
- 임시 저장 공간이나 인덱스로 사용되는 변수 : 짧은 이름
6. 메소드 이름은 반드시 소문자로 시작, 카멜 (낙타) 명명법 이용
- getName (o), computeTotalWidth (o)
- 메소드와 변수 구분을 위해 변수는 명사 단어, 메소드는 동사 단어
7. 타입을 표현하는 이름은 대소문자를 혼용할 수 있지만, 반드시 명사를 사용하고 시작 글자를 대문자로 지정
- Account (o), EvenHandler (o)
8. 상수를 표현하는 (final) 이름은 반드시 모두 대문자로 지정하되, '_'를 사용하여 단어 구분
- MAX_ITERATORS (o), COLOR_RED (o)
- 자바의 일반적 관습
- 하지만 대다수는 상수 변수를 메소드로 구현하는게 더 나음
( public int getMaxIterations() {
return 25;
} (o)
보다 읽기 편하고 클래스 값을 참조하는 일관된 인터페이스를 제공
9. 축약형과 두문자어형을 이름에 사용할 경우 전부 대문자로 지정하지 않음
- exportHtmlSource(); (o), openDudPlayer(); (o)
- 모두 대문자로 지칭시 상수에 대한 명명 지침과 충돌 간으성 있음
- 가독성 저하
10. private 접근 제한자를 갖는 클래스 변수에 '_' 접미사 사용
- class well {
private int depth_;
} (o)
- 로컬 변수와 private 접근 제한자가 갖는 클래스 변수를 쉽게 구별 가능
- 부가적으로 setter 메소드에서의 이름 충돌 문제를 해결해줌
* 자바 예약어 : 기능이 이미 정해져 있는 키워드들
'BackEnd > Java' 카테고리의 다른 글
JAVA :: JRE 오류 (0) | 2016.01.15 |
---|---|
Maven :: 정의 (0) | 2016.01.15 |
Java 컴파일 & jar 만들기 & Java 실행 (0) | 2016.01.15 |
Java :: log4sql 과 log4jdbc (0) | 2016.01.14 |
CRUD 구조 (0) | 2016.01.13 |