제어자는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여.
클래스나 멤버변수와 메서드에 주로 사용.
1. 접근 제어자 : public, protected, default, private
2. 그 외 : static, final, abstract, native, transient, synchronized, volatile, strictfp
1. static
static을 붙인 변수는 메모리 할당을 딱 한번 해서 메모리의 이점을 얻을 수 있음.
한 변수를 공유하기 위한 용도로 많이 쓰임.
제어자 | 대상 | 의미 |
static | 멤버변수 | - 모든 인스턴스에 공통적으로 사용되는 클래스변수가 됨. - 클래스변수는 인스턴스를 생성하지 않고도 사용 가능 - 클래스가 메모리에 로드될 때 생성 |
메서드 | - 인스턴스를 생성하지 않고도 호출이 가능한 static 메서드가 된다. - static메서드 내에서는 인스턴스멤버들을 직접 사용x |
2. final
제어자 | 대상 | 의미 |
final | 클래스 | 변경될 수 없는 클래스, 확장될 수 없는 클래스. 다른 클래스의 조상이 될 수 없다. |
메서드 | 변경될 수 없는 메서드, final로 지정된 메서드는 오버라이딩을 통해 재정의 될 수 없다. | |
멤버변수 | 변수 앞에 final이 붙으면, 값을 변경할 수 없는 상수가 됨. | |
지역변수 |
반응형
'JAVA' 카테고리의 다른 글
생성자(Constructor) (0) | 2020.12.06 |
---|---|
Interface (0) | 2020.12.06 |
변수와 메서드 (0) | 2020.12.06 |
클래스와 객체 (0) | 2020.12.06 |
Java의 접근 권한 예약어 (0) | 2020.01.18 |