final 제한자가 선언된 변수의 값은 변경할 수 없으며 final 제한자가 선언된 메소드는 하위 클래스에서 오버라이딩 할 수 없다.
1. 변경할 수 없음을 의미
2. 클래스, 내부 클래스, 메소드, 변수에 선언 가능
3. 클래스에 선언하면 다른 클래스가 이 클래스를 상속할 수 없음
4. 메소드에 선언하면 다른 클래스에서 이 메소드를 오버라이딩 할 수 없음
5. 변수에 선언하면 일단 값이 할당된 이후에는 더 이상 값을 변경할 수 없음
6. final 메소드가 있더라도 클래스를 반드시 final로 선언할 필요는 없음
abstract 제한자.
abstract는 "추상"이라는 뜻을 가지고 있따. 그래서 이 제한자가 선언된 메소드는 완벽하게 정의되지 않았다는 것을 알리는 역할을 한다.
1. 메소드 몸체를 가질 수 없음
2. 메소드의 몸체를 하위 클래스에서 정의하게 하고 싶을 때 사용하는 제한자.
3. 클래스, 내부 클래스, 메소드에 선언 가능
4. abstract가 선언된 메소드를 추상 메소드라고 함
5. 추상 메소드를 포함한 클래스는 반드시 abstract로 선언해야 하며 이를 추상 클래스라 함
7. 추상 클래스를 사용하기 위해서는 상속해서 미구현 메소드를 구현해야 함
static 제한자.
static 제한자는 메소드나 변수를 메모리에 로딩해서 다른 클래스가 이 클래스의 인스턴스를 생성하지 않고도 사용할 수 있게 해준다.
1. 여러 인스턴스들이 공유할 수 있도록 메소드나 변수를 메모리에 로딩시키는 기능
2. 내부 클래스, 메소드, 변수에 선언 가능
3. 자동 변수에는 선언할 수 없음
4. 인스턴스 또는 클래스명으로 접근 가능
native 제한자.
native 제한자는 다른 언어로 작성된 메소드를 자바에서 사용하기 위해 선언하는 제한자이다. 이에 대해 정리하면 다음과 같다.
1. 다른 언어로 작성된 메소드를 자바에서 사용하기 위한 제한자.
2. 메소드에만 선언 가능
3. 메소드 몸체를 가질 수 없음
synchronize 제한자.
synchronize 제한자는 멀티 스레드 프로그램에서 스레드를 제어하기 위해 사용된다.
1.하나 이상의 스레드가 코드의 특정 블록을 동시에 접근하는 것을 제어하기 위해 사용
2. 메소드와 블록에 선언가능
'컴퓨터프로그래밍 > JAVA' 카테고리의 다른 글
JAVA 가비지 컬렉션 (2) | 2013.10.06 |
---|---|
JAVA연산자 (0) | 2013.10.05 |
JAVA - 접근 제한자. (0) | 2013.09.30 |
JAVA - 검증, 예외 (0) | 2013.09.30 |
JAVA - 분기문 (0) | 2013.09.30 |