[JAVA] 클래스, 변수명 네이밍 규칙

2018. 7. 6. 15:52JAVA

[JAVA] 클래스, 변수명 네이밍 규칙


자바의 식별자

자바의 식별자는 변수나 상수, 메서드, 사용자가 정의하는 클래스 등을 구분할 수 있는 이름입니다.
자바 식별자 규칙
  • 첫 문자가 문자나 '_', '$'의 특수문자로 시작되어야 한다. 숫자로 시작할 수 없다.
  • 첫 문자가 아니라면, 문자나 '_', '$'의 특수문자 그리고 숫자로 구성될 수 있다.
  • 자바의 예약어는 식별자로 사용할 수 없다.
  • 자바의 식별자는 대소문자를 구분한다.
  • 식별자 길이는 제한이 없고 공백은 포함할 수 없다.
일반적 관례
  • 클래스 이름은 대문자의 명사로 시작
  • 메서드 이름은 소문자의 동사
  • 변수는 소문자의 명사
  • 상수는 대문자의 명사
올바른 예
  • 클래스 이름 : ClassName
  • 메서드 이름 : getValue, get_Value
  • 변수 이름 : $value, variable_Value
  • 상수 이름 : CONSTANT_VALUE
잘못된 예
  • user Name : 공백 포함
  • 3dimension : 숫자로 시작
  • this : 자바 예약어 사용
  • #value : #포함
명칭 정하는 관례
  • 구문적으로 꼭 지켜야 할 사항은 아니지만 관례적으로 적용해 주어야 하는 클래스, 메서드, 변수명 규칙이 존재
  • 클래스 이름은 워드 단위로 첫 글자를 대문자로 정의
  • 메서드 이름이나 변수명은 일반적으로 첫 글자를 소문자로 정의
  • 변수 이름은 명사를 메서드 이름은 동사를 사용
  • 변수가 final형이면서 기본형이면 명칭을 대문자로 final형이면서 참조형이면 명칭을 소문자로 정의
적절하게 정의된 명칭의 예
  • 클래스명 : Example_8_1, Sample, Account, AccountManager, VisitServlet
  • 메서드명 : printString, saveMoney, doExpr, calcurate, input
  • 변수명 : number, name, TAX, total, sum, st_num, st_addr

 

예약어

기능이 이미 정해져 있는 키워드를 의미
자바 예약어는 모두 소문자로 약 50여 개로 이루어져 있음
자바의 예약어
abstractassertbooleanbreakbytecasecatch
charclassconstcontinuedefaultdodouble
elseextendsfalsefinalfinallyfloatfor
gotoifimplementsimportinstanceofintinterface
longnativenewnullpackageprivateprotected
publicreturnshortstaticsuperswitchsynchronized
thisthrowthrowstransienttruetryvoid
volatilewhile     
자바의 예약어 사용시 주의점
  • const, goto 예약어는 현재는 자바에서 사용되지 않으며, 식별자로 사용 할 수 없음
  • 자바의 예약어는 소문자로 이루어져 있고 대소문자를 구분하므로, TRUE, FALSE, NULL은 자바 예약어가 아님
  • C, C++언어에서 변수의 길이를 표현했던 sizeof 예약어는 자바에서 더 이상 사용되지 않음
  • assert는 j2sdk .14버전부터 추가된 예약어
  • const와 goto는 키워드 리스트에는 포함되어 있으나 실제로는 사용 불가능
  • True와 False는 boolean 형 상수
  • Null은 참조형 상수로서 「참조하는 곳이 없음」을 의미