표기법 정리
표기법 정리
○ 파스칼 표기법(Pascal Notation: Pascak Case)
파스칼 표기법은 첫 글자를 대문자로 구성하며 단어가 합성될 때 마다 각 단어의 첫 글자를 대문자를 표기하는 방식(방법)이다.
ex) class MainTitle class CircleTest class UserStatus
자바에서는 클래스의 명명 규칙인 첫 글자를 대문자로 한다는 규칙에 캐멀 표기법이 합쳐진 형태이다.
○ 언더스코어 표기법(Underscore Notation: Underscore Case: 밑줄 표기법)(Underscore == Underline)
주로 데이터베이스나 자바스크립트에서 지역 변수를 사용할 경우에 언더바(underline)를 사용하는 언더 스코어 표기법을 사용하기도 한다.
ex) content_name user_data
○ 캐멀 표기법(Camel Notation: Camel Case: 낙타 표기법)
캐멀 표기법은 두 단어 이상의 변수명을 표현할 때 두 번째 단어부터 첫글자를 대문자로 표기하는 방법.
ex) addData rainbowColor userName
변수의 명명규칙(naming Rule)인 첫 글자를 소문자로 한다는 규칙과 캐멀 표기법이 합쳐져서 네이밍이 이루어진다.
캐멀 표기법은 자바에서 시작된 것으로 변수명 혹은 클래스명을 작성할 때 단어마다 단어의 첫 글자를 대문자로 표기하는 것이다. 이 표기법은 각 단어의 첫 글자가 대문자로 표기되어 꼭 낙타의 등처럼보이기 떄문에 캐멀 표기법이라고 불리게 되었다고 알고있는 사람들이 많지만 이는 사실과 다르다.
- 클래스 이름
: 맨 앞 글자를 대문자로 한다. 두번쨰로 오는 의미있는 단어의 앞 글자는 대문자이다.
ex) public class MyClass{....} //--(○)
public class Myclass{....} //--(X)
- 변수 이름
: 맨 앞 글자를 소문자로 한다.
두 번째로 오는 의미있는 단어의 앞 글자는 대문자이다.
ex) String myName; //--(○)
String MyName; //--(X)
- 메소드 이름
: 맨 앞 글자를 소문자로 한다.
두 번째로 오는 의미있는 단어의 앞 글자는 대문자이다.
(변수 이름의 명명법과 동일한 방법)
단, 메소드의 이름은 가급적 동사로 시작할 수 있도록 명명하는 것이 좋다.
ex) public String createMyName() {....} //--(○)
public String createmyname() {....} //--(X)
public String myName() {....} //--(동사가 아닌 명사이므로 추천하지 않음)
○ 헝가리언 표기법(Hungarian Notation: Hungarian Case)
헝가리언 표기법은 Microsoft 사의 Charles Simonyi 라는 프로그래머가 만들게 되었다고 한다.
그가 코딩할 때 습관적으로 즐겨쓰던 접두어 변수 명명 방식이 빌 게이츠의 눈에 띄어 표준화(일반화)된 것이라 한다.
변수를 표기할 때 앞에 접두어로 쉽게 알아볼 수 있도록 표기하였는데, 이를 통해 자료형을 쉽게 알아볼 수 있다.
ex) int nNum float fNum
argument of String → args
Data Type Prefix Example
----------- --------- --------------
boolean b bContinue
int n nIndex
short n nNum
char c cFirstInitial
String s(str) sCustomerName(strCustomerName)
※ 실제 자바 프로젝트에서... 클래스는 파스칼 표기법으로 변수나 메소드의 이름은 캐멀 표기법으로 사용하며,
간혹 오래된 프로젝트를 유지보수 하다보면 헝가리언 표기법으로 네이밍하는 개발자들도 적지 않다.
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test082 배열의 기본적 활용(1) (0) | 2020.09.05 |
---|---|
Test081 배열의 개요 (0) | 2020.09.05 |
Test068 실행 흐름의 컨트롤(제어문) return (0) | 2020.09.04 |
Test067 실행 흐름의 컨트롤(제어문) continue (0) | 2020.09.04 |
Test066 실행 흐름의 컨트롤(제어문) break (0) | 2020.09.04 |