자바의 식별자
자바의 식별자는 변수나 상수, 메서드, 사용자가 정의하는 클래스 등을 구분할 수 있는 이름입니다.
자바 식별자 규칙
- 첫 문자가 문자나 '_', '$'의 특수문자로 시작되어야 한다. 숫자로 시작할 수 없다.
- 첫 문자가 아니라면, 문자나 '_', '$'의 특수문자 그리고 숫자로 구성될 수 있다.
- 자바의 예약어는 식별자로 사용할 수 없다.
- 자바의 식별자는 대소문자를 구분한다.
- 식별자 길이는 제한이 없고 공백은 포함할 수 없다.
일반적 관례
- 클래스 이름은 대문자의 명사로 시작
- 메서드 이름은 소문자의 동사
- 변수는 소문자의 명사
- 상수는 대문자의 명사
올바른 예
- 클래스 이름 : 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여 개로 이루어져 있음
자바 예약어는 모두 소문자로 약 50여 개로 이루어져 있음
abstract | assert | boolean | break | byte | case | catch |
char | class | const | continue | default | do | double |
else | extends | false | final | finally | float | for |
goto | if | implements | import | instanceof | int | interface |
long | native | new | null | package | private | protected |
public | return | short | static | super | switch | synchronized |
this | throw | throws | transient | true | try | void |
volatile | while |
자바의 예약어 사용시 주의점
- const, goto 예약어는 현재는 자바에서 사용되지 않으며, 식별자로 사용 할 수 없음
- 자바의 예약어는 소문자로 이루어져 있고 대소문자를 구분하므로, TRUE, FALSE, NULL은 자바 예약어가 아님
- C, C++언어에서 변수의 길이를 표현했던 sizeof 예약어는 자바에서 더 이상 사용되지 않음
- assert는 j2sdk .14버전부터 추가된 예약어
- const와 goto는 키워드 리스트에는 포함되어 있으나 실제로는 사용 불가능
- True와 False는 boolean 형 상수
- Null은 참조형 상수로서 「참조하는 곳이 없음」을 의미