JAVA언어 이름 규칙

2015. 1. 12. 16:27Basic/etc

반응형
Overview

프로그램 소스의 가독성을 위해 이름 규칙은 중요하다. 자바언어에서 사용되는 이름들은 의미있고 모호하지 않는 이름을 사용하여야 한다.
* 카페에 질문시 소스를 첨부하는 경우 이런 명명규칙도 지켜지지 않은 경우가 많다. 난 이런 소스를 "쓰레기"라 부른다. 그리고 분석이 불가능하기에 답변할 가치도 없다고 느낀다. ....결국은 혼자서 짜증을 내며 답변을 하게 되지만 --;

1. 클래스 이름

클래스 이름은 명사를 사용한다. 첫번째 단어의 첫글자는 대문자로 시작하고, 두단어이상의 명사가 사용되는 경우는 읽기 쉽도록 두번째 단어의 첫글자를 대문자로 사용하는 카멜표현식을 사용한다.

public class String{...}
public class ApplicationContext{...}


2. 인터페이스 이름

인터페이스가 구현클래스에 무엇인가를 제공하고자 하는 경우에는 이름은 형용사 이름을 사용한다.(~able, ~ible)
그렇지 않은 경우에는 명사를 사용하여도 된다. 인터페이스의 이름은 클래스 이름 규약을 따른다.

interface Serializable{...}
interface Controoler{...}


3. 메서드 이름

메서드의 이름은 메서드의 성격을 나타내는 동사를 사용한다. 소문자를 사용하고, 두단어 이상이 사용되는 경우는 첫번째 단어는 소문자를 사용하고 두번째 문자부터는 첫번째 문자를 대문자를 사용하는 카멜표현식을 사용한다. 형용사나 명사가 포함되기도 한다.

public void print(){...}
public String getUserByKey(){...}


4. 변수, 지역변수, 매개변수

변수의 이름은 명사를 사용하고 소문자를 사용한다. 두단어 이상의 결합은 메서드 이름 규약과 동일하다.
반복문 같은 구문안에서 임시로 사용되는 변수의 경우는 i,j,k,m같은 이름을 사용하고, 숫자타입의 경우는 m, 문자타입의 경우는 c,d,e등을 사용한다.
 
int age;
String name;
int myAge;
String myName;
for(int i:i<10;i++){...}


5. 제너릭 타입의 매개 변수 이름

일반적으로 타입 매개변수는 대문자 T를 사용하는데 자바의 컬럭션 프레임워크에서 많이 활용된다.
그외에도 대문자 E(collection elements), S(service loader), K와V(맵타입의 키,값)가 사용된다.

interface List<T>{...}
interface Map<K,V>{...}
   

6. 상수 이름

상수는 모두 대문자로 사용하고, 두단어 이상의 결합은 underscores를 이용하여 구분한다.

public static final int MAX_NUM = 100;


7. Enum 이름

Enum이름은 클래스 이름 규약을 따르며, 세부 항목의 이름은 모두 대문자를 사용한다.

enum Season {SPRING, SUMMER, FALL, WINTER}


8. 패키지 이름

패키지 이름은 소문자만을 사용하거나 underscores가 사용되기도 한다. 보통 유일한 이름을 사용하기 위해 인터넷 도메인 주소의 역순을 많이 사용한다. 자바 기본 라이브러리에서 사용중인 java와 javax의 이름 사용은 제한한다.

package com.naver.cafe.jjdev;


9. @애노테이션 이름

애노테이션의 이름은 기본적으로 클래스 이름의 규약을 따르며, 애노테이션의 성격에 따라 형용사나 동사, 명사를 사용한다.

@Documented
@Override
@Value
@MyAnnotation

 

반응형

'Basic > etc' 카테고리의 다른 글

[HTML] Input file 태그 확장자 제한  (0) 2015.12.17
[개발자 상식]TDD(테스트 주도적 개발)  (0) 2015.03.01
[Android] 생명주기 고급정보!  (0) 2014.12.27
[Android] ART???  (0) 2014.12.27
[Android] Content Provider  (0) 2014.12.27