Java/Java

[공통] 자바 네이밍 규칙

Gamii 2024. 4. 25. 07:46
728x90

 

[공통]

 

1. 대소문자가 구분되어야 하고, 길이에 제한이 없다.

주석을 사용해서 변수를 설명하는게 아니라 변수명을 길게 하더라도 의미부여를 명확하게 해야 한다.

 

 

2. 자바에서 사용하고 있는 예약어는 사용하지 않는다.

예) class, import, break 등

 

 

3. 숫자로 시작하면 안 된다.

 

 

4. 특수문자는 '_(언더바)'와 '$'만 허용한다. 단, 자주 사용하지는 않는다.

//변수명에 사용하는 예시
int my_variable = 10;
String user_name = "John";

//메서드명에 사용하는 예시
public void calculate_total() { ... }
private String format_text() { ... }

//클래스명에 사용하는 예시
public class User_Details { ... }
class Payment$Processor { ... }

//패키지명에 사용하는 예시
package com_example_project;
package org$company_name;

 

 

5. 파스칼 표기법(PascalCase)과 카멜 표기법(camelCase)을 사용한다.

파스칼 표기법은 주로 클래스 이름이나 인터페이스 이름을 지을 때 사용되고, 카멜 표기법은 변수명, 메서드명, 함수명 등에서 사용된다. 

//파스칼 표기법
ClassName, CalculateTotal, UserDetails

//카멜 표기법
methodName, calculateTotal, userDetails

 

 

6. 반의어는 반드시 대응하는 개념으로 사용해야 한다.

enable/disable 활성화/비활성화
start/stop 시작/정지
add/remove 추가/제거
insert/delete 삽입/삭제
create/destroy 창조/파괴하다
get/set 받다/얻다

 

 

 

 

[패키지]

 

1. 모두 소문자로 작성해야 한다.

예) com.example.project

 

 

2. 일반적으로 역순으로 된 도메인 이름을 사용한다.

예) com.naver.project

 

 

3. 명확하고 간결하게 이름을 작성해야 한다. (가급적 한 단어를 사용하고, 최대한 줄임말을 사용하지 않는다.)

예) com.example.utilities, org.company.project.services

 

 

 

 

[클래스]

 

1. 첫 글자를 대문자로 시작하고 구분되는 글자마다 첫 글자를 대문자로 사용한다. (파스칼 표기법)

예) UserInfo

 

 

2. 클래스명은 명사로 시작한다.

 

 

 

 

[메서드]

 

1. 첫 글자를 소문자로 시작하고 구분되는 글자마다 첫 글자를 대문자로 사용한다. (카멜 표기법)

예) getUserInfo, printReport

 

 

2. 해당 메서드의 기능과 목적을 잘 반영하도록 명확하고 간결하게 지어야 한다.

 

 

3. 메서드 이름은 동사로 지어서 사용한다.

메서드의 단일 책임 원칙에 따라 하나의 구체적인 역할이나 기능을 수행할 수 있게 알맞은 동사를 사용해 이름을 짓는다.

 

 

 

 

[변수]

 

1. 소문자나 카멜 표기법으로 작성한다.

String userName;
Integer number

 

 

 

 

[상수(final)]

 

1. 모두 대문자를 사용해야 한다. 여러 단어를 포함하는 경우 언더스코어("_")를 사용하여 단어와 단어 사이를 구분해 준다.

 

2. final 키워드를 사용해 값을 변경할 수 없도록 해야 한다.

final int MAX_VALUE = 100;
final String DEFAULT_COLOR = "RED";

 

 

 

 

 

 

 

[참고]

https://www.oracle.com/java/technologies/javase/codeconventions-namingconventions.html