Item 56. 일반적으로 통용되는 작명 관습을 따르라

자바는 작명 관습(naming convention)이 잘 정립되어 있음, 그 중 상당수가 자바 언어 명세(The Java Language Specification)에도 정의되어 있음

철자 작명 관습

식별자 예시 설명
package com.edu, com.sun 소문자, 약어 사용
class, interface Timer, FutureTask  
method, field remove, ensureCapacity, getCrc 너무 긴 이름은 약어 사용
constant VALUES, NEGATIVE_INFINITY  
local var i, xref, houseNumber 약어 사용 가능
type parameter <E>, <T>, <K, V> 대문자

문법적(grammatical) 작명 관습

Class

식별자 예시 설명
enum Time, BufferedWriter 단수형 명사, 명사구(noun phrase) 사용
class, interface Collection, Comparator 명사, 형용사격(~able, ~ible) 어미
class, interface Collection, Comparator, Runnable 명사, 명사구(noun phrase) 사용
annotation BindingAnnotation, Inject, ImplementedBy 명사, 동사, 전치사, 형용사, etc

Method

파라미터 예시 설명
일반적일때 getter, setter, append, drawImage 동사나 동사구(목적어 포함)
객체 변환 to{type}, as{type}, {type}Value  
boolean is, has is, has + 명사

객체 변환 함수 작명 규칙 추가 설명

if( car.spped() > 2 * SPEED_LIMIT )
    generateAudibleAlert("Watch out for cops!");