1. 단어 목록

모든 프로그래밍 언어와 마찬가지로 Java에는 특별한 의미가 있는 단어가 있습니다. 예를 들어, return또는 if또는 while. 이러한 단어를 키워드( keywords ) 라고 하며 Java 언어에서 예약된 것으로 간주됩니다.

이러한 단어를 변수 이름, 메서드 이름 또는 클래스 이름으로 사용할 수 없습니다. 컴파일러는 항상 엄격하게 정의된 방식으로 해석합니다. 54Java에는 그러한 단어가 있습니다 .

abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
var
true
null
false

당신은 이미 그들 중 일부를 알고 있으며 나머지는 지금 이야기하겠습니다.


2. 원시 유형

기억하시겠지만 Java에는 8개의 기본 유형이 있으며 각 유형에는 고유한 키워드가 있습니다.

  • byte
  • short
  • int
  • long
  • char
  • float
  • double
  • boolean
  • void

충분히 탐구적인 마음을 가지고 있다면 이미 변수 이름을 int로 지정하려고 시도했을 가능성이 큽니다. 물론 당신은 성공하지 못했습니다. 이는 모든 기본 유형의 이름이 예약어이기 때문입니다.

유형 void도 이 범주에 속합니다.


3. 루프와 분기

루프와 분기는 다소 긴 키워드 목록도 제공합니다.

  • if
  • else
  • switch
  • case
  • default
  • while
  • do
  • for
  • break
  • continue

break단 10단어면 인터럽트 루프( 및 continue) 및 다중 분기( ) 를 위한 여러 종류의 루프, 분기 및 제어문을 제공하는 언어에 충분합니다 switch. 당신은 이미 이 모든 키워드에 익숙합니다.


4. 예외

예외는 5개의 키워드를 제공합니다.

  • try
  • catch
  • finally
  • throw
  • throws

이들은 모두 try-catch-finally블록의 일부입니다. 예외를 발생시키는 연산자는 이며 throw키워드 는 예외 메커니즘을 throws지원합니다 checked.

좋은 소식은 당신이 예외와 관련된 모든 키워드에 이미 익숙하다는 것입니다. 따라서 예외 작업에 대해서도 이미 대부분 익숙합니다.


5. 가시성

여기에는 키워드가 세 개뿐이며 이미 익숙합니다.

  • private
  • protected
  • public

public프로그램의 어느 곳에서나 메서드/변수/클래스에 액세스할 수 있습니다.

private메서드/변수/클래스가 프로그램의 어느 곳에서나 액세스되는 것을 금지합니다. 수식어로 표시된 메서드와 동일한 클래스 내에서만 액세스가 허용됩니다 private.

protected와 동일하게 작동 private하지만 상속된 클래스에서 메서드/변수/클래스에 액세스할 수도 있습니다. OOP와 상속에 익숙해지면 이 수정자의 이점이 더 명확해질 것입니다.


6. 클래스 작업

이 카테고리에는 11개의 키워드가 있습니다.

  • class
  • interface
  • enum
  • import
  • package
  • extends
  • implements
  • static
  • final
  • abstract
  • default

그들은 4개의 그룹으로 나눌 수 있습니다.

첫 번째 그룹은 클래스 생성과 관련이 있습니다: class, interfaceenum. 클래스 및 열거형 선언에 대해 이미 배웠습니다 . 키워드 interface는 클래스와 유사한 또 다른 유형인 인터페이스를 선언하는 데 사용됩니다.

두 번째 그룹은 이미 익숙한 패키지 및 가져오기 키워드로 구성됩니다. package 키워드는 클래스 파일에서 클래스의 패키지를 지정하는 데 사용됩니다. 그리고 import우리 자신의 클래스를 작성할 때 외부 클래스의 짧은 이름을 사용할 수 있습니다.

extends및 키워드 implements는 상속에 사용됩니다. Java Core 퀘스트의 맨 처음에 그것들을 살펴볼 것입니다.

마지막으로 마지막 그룹은 static, final, defaultabstract수정자로 구성됩니다. static당신은 이미 및 에 대해 조금 알고 있습니다 final. 키워드 abstract는 클래스 또는 메서드를 추상화하는 데 사용됩니다. Java Core 퀘스트에서 상속을 공부할 때 더 자세한 정보를 얻을 수 있습니다.


7. 개체 및 변수 작업

개체, 메서드 및 변수로 작업할 때 6개의 추가 키워드가 사용됩니다.

  • new
  • instanceof
  • this
  • super
  • return
  • var(자바 10부터)

연산자 new는 새 개체를 만드는 데 사용됩니다. 이미 알고 있습니다.

연산자 instanceof는 변수에 특정 유형의 개체에 대한 참조가 포함되어 있는지 확인하는 데 사용됩니다. 당신은 이미 그것에 익숙합니다.

this키워드는 인스턴스 변수와 메서드의 그림자로 인해 발생하는 문제를 해결하는 데 사용됩니다. 이것도 공부하셨습니다.

키워드 super는 와 유사 this하지만 부모 클래스의 메서드와 변수를 참조하는 데 사용됩니다. 상위 클래스는 수퍼 클래스라고도 합니다.

return문은 메서드의 값을 반환하고 메서드 실행을 종료하는 데 사용됩니다.

마지막으로 var유형이 자동으로 유추되는 변수를 선언하기 위한 것입니다. 당신은 이미 이것에 익숙합니다.


8. 멀티스레딩

Java 구문 수준에서 멀티스레딩은 단 두 단어로 표현됩니다.

  • synchronized
  • volatile

우리는 그들을 만지지도 않을 것입니다. Java Multithreading 퀘스트 로 이동한 다음 본격적으로 시작하겠습니다.


9. 기타

또 다른 4개의 특수 키워드가 있습니다.

  • native
  • transient
  • assert
  • strictfp

native메서드 선언 전에 작성할 수 있는 수정자입니다. 이는 메서드 코드가 Java가 아닌 C++로 작성되고 Java 머신(well 또는 DLL)에 내장됨을 의미합니다. 이미 짐작하셨겠지만 Java 시스템 자체도 C++로 작성되었습니다. 많은 표준 라이브러리 방법과 같습니다.

transient인스턴스 변수(클래스의 필드) 앞에 쓸 수 있는 수정자입니다. 클래스의 개체를 직렬화하는 동안 표시된 변수를 건너뛰도록(또는 무시하도록) Java 시스템에 요청합니다. Java 컬렉션 퀘스트에서 직렬화에 대해 자세히 알아볼 수 있습니다.

assert또한 C++에서 Java로 제공됩니다. 이를 통해 코드에 추가 검사를 추가할 수 있습니다(예: 변수가 null인지 확인). 여기서 중요한 점은 이러한 검사가 컴파일 시간에 활성화 또는 비활성화된다는 것입니다.

내부 테스트를 위해 프로젝트를 빌드할 수 있으며 이러한 검사가 수행됩니다(빌드에 포함됨). 또는 컴파일하는 동안 비활성화하여 사용자에게 제공할 프로그램 버전을 만들 수 있습니다.

strictfpIntel 프로세서의 키워드 및 추가 정밀도 에 관해서 는 전체 이야기가 있습니다 .


10. 예약되었지만 사용되지 않음

또한 예약되었지만 사용되지 않는 두 개의 키워드가 있습니다.

  • const
  • goto

이들은 또한 존재하고 사용되는 C++ 언어의 유산이기도 합니다.


11. 키워드가 아님

공식적으로 true및 상수 falsenull키워드가 아닙니다. 즉, 각각의 특성이 있습니다. 메소드 true나 변수의 이름을 지정할 수 없습니다 false. 컴파일러는 이러한 코드를 이해하지 못하고 컴파일하지 않습니다.