Java 명명규칙 (Java Naming)
- 자바의 명명규칙은 클래스나 패키지, 변수, 상수, 메소드 등 과 같은 식별자(identifiers)의 이름을 지을 때 따라야할 규칙.
- 강요는 아니고 권장사항
이점
- 표준적인 자바 명명 규칙을 사용함으로써, 자신과 다른 프로그래머들이 읽기 더 쉽게 만들수 있다.
- 코드가 무슨 기능을 하는지 빠르게 파악이 가능하다.
파스칼케이스 명명규칙(PascalCase Naming Convertions)
- 모든 단어에서 첫번째 문자가 대문자이며 나머지는 소문자
클래스(Class), 함수(Method) 명에는 파스칼케이스 사용
카멜케이스 명명규칙(CamelCase Naming Conventions)
-
자바 클래스, 인터페이스, 메소드 그리고 변수의 이름을 지을 때, 자바는 카멜케이스 구문을 따른다.
-
만약, 이름이 2가지 단어와 혼합되어 있다면, 두 번째 단어는 대문자로 시작
-
ex) actionPerformed(), firstName, ActionEvent, ActionListener 등등
-
이렇게 하는 이유는 조금 긴 이름의 경우 알아보기 쉽게 하기 위함
- SuperBall이 superball보다 가독성이 좋은 이유
- 이름을 대충 짓게되면 나중에 헬코드를 만나게 될수도 있으니 주의!!
-
숫자를 앞에 입력하면 안됨
- 12ballColor (x), ballColor12 (o)
-
대소문자 구분이 되기 때문에, 같은 뜻의 단어를 사용해도 프로그램에서는 서로 다른 것으로 인식함
- SuperBall과 superball은 다른것으로 간주
변수(variable)에는 카멜 표기법 사용
스네이크케이스 명명규칙(Snake Naming Conventions)
- 단어를 밑줄문자로 구분하는 표기법
- ex) backgounrd_color, type_name
규칙
Name | Convention |
---|---|
Class (클래스) |
대문자로 시작하고, 명사. ex) String, Color, Button, System, Thread 등 |
Interface (인터페이스) |
대문자로 시작하고, 형용사. ex) Runnable, Remote, ActionListener 등 |
Method (메소드) | 소문자로 시작하고, 동사. ex) actionperformed(), main(), print(), println() 등 |
Variable (변수) | 소문자로 시작. ex)firstName, orderNumber 등 |
Package (패키지) | 소문자로 시작. ex)java, lang, sql, util 등 |
Constant (상수) | 대문자. '_'를 사용하여 구분 ex)RED, YELLOW, MAX_PRIORITY 등 |
1. 축약형, 두문자어형을 사용할 경우 전부 대문자를 사용하지 않는다.
String exportHtmlSource; (o)
String exportHTMLSource; (x)
...
String openDvdShop; (o)
String openDVDShop; (x)
2. 일반적인 변수의 이름은 타입과 동일하도록 정의
void getTest(Event event){...} (o)
void getTest(Event valie){...} (x)
3. 컬렉션의 이름은 반드시 복수형으로 사용
List<Event> events; (o)
List<Event> event; (x)
Set<Color> colors; (o)
Set<Color> color; (x)
4. Boolean 변수이름은 절대로 부정적인 이름을 사용하지 않는다.
boolean isError; (o)
boolean isNotError; (x)
boolean isFound; (o)
boolean isNotFound; (x)
5. 관련있는 상수(final 변수)들은 공통 타입의 이름을 접두사로 사용하여 그룹핑한다.
final int COLOR_RED = 1;
final int COLOR_GREEN = 2;
final int COLOR_BLUE = 3;
'IT > Java' 카테고리의 다른 글
YAML/YML (0) | 2021.07.16 |
---|---|
Http 응답 상태코드 (Http Status Code) (0) | 2019.04.30 |
댓글