기본 콘텐츠로 건너뛰기

자바(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은 참조형 상수로서 「참조하는 곳이 없음」을 의미 

댓글

이 블로그의 인기 게시물

유닉스 & 리눅스 가계도. Unix&Linux Family

- Unix Family - Shell History

라즈베리파이 커널 컴파일

- 라즈베리파이의 부트절차 1. Power on 2. SoC Rom의 첫번째 부트로더(Firmware)을 읽음. 3. 첫번째 부트로더가 MicroSD의 두번째 부트로더( bootcode.bin )을 호출 4. 두번째 부트로더가 MicroSD의 config.txt 파일을 읽고 실행. 5. 두번째 부트로더가 세번째 부트로더 ( start.elf )을 호출 실행 ARM core 활성화 6. ARM core가 네번째 부트로더( kernel.img )을 호출 실행 7. module load 8. init 실행 (daemon 실행) 부팅에 필요한 최소한의 세가지 : bootcode.bin, start.elf(start_cd.elf / start_x.elf), kernel.img - 라즈베리파이 커널 크로스 컴파일 - 커널 소스 내려받기 : 커널 소스가 필요한 이유? 임베디드 환경에 맞게 커널을 축소하기 위해서. git : sw 버전관리& 페키지를 쉽게 다운받기 위해 사용. #atp-get install git -y #git init #mkdir /raspberrypi 필요한 커널 소스 다운 및 크로스컴파일러 다운. : www.kernel.org 에서도 다운 가능. #cd /raspberrypi #apt-get update #apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libc6-dev-i386 lib32z1 #git clone --depth=1 https://github.com/raspberrypi/linux #export KERNEL=kernel7 make를 이용해 크로스 컴파일 시켜줌. #apt-get install gcc-arm-linux-gnueabi make #cd linux #make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_

모든 프로그래머가 알아야 할 것들 목록.

Every Programmer Should Know Algorithms Big O Cheatsheet 📖   Grokking Algorithms Sorting Algorithms Numbers 📄   Floating Point Guide 📄   Basic Number Theory Every Programmer Should Know... 📄   Falsehoods Programmers Believe About Phone Numbers Strings Big List of Naughty Strings 📄   Unicode and Character Sets Homoglyphs Unicode Common Locale Data Repository Falsehoods Programmers Believe About Names Latency Interactive Latency Infographics 📄   Latency Numbers Every Programmer Should Know Time 📄   Falsehoods programmers believe about time 📄   More falsehoods programmers believe about time; “wisdom of the crowd” edition 📄   Some notes about time 📄   Falsehoods programmers believe about time and time zones Memory 📄   What every Programmer should know about memory Distributed Systems 📖   Designing Data-Intensive Applications 📜   Designs, Lessons and Advice from Building Large Distributed Systems 📜   Time, Clocks and the Orderi