클래스와 클래스의 멤버(멤버 변수, 메소드)에 부가적인 의미 부여
접근 제어자 | public, protected, (default), private |
그 외 | static, final, abstract, native, transient, synchronized, volatile, strictfp |
하나의 대상에 여러 제어자를 함께 사용할 수 있다.
단, 접근 제어자는 하나만 사용 가능하다. 그리고 가장 앞에 사용한다.
멤버변수 static
- 모든 인스턴스에 공통적으로 사용하는 클래스 변수가 된다.
- 인스턴스를 생성하지 않고도 사용 가능하다.
- 클래스가 메모리에 로드될 때 생성된다.
메소드 static
- 인스턴스를 생성하지 않고도 호출이 가능한 static 메소드가 된다.
- static 메소드 내에서는 인스턴스 멤버들을 직접 사용할 수 없다.
클래스 final
- 변경될 수 없는 클래스, 즉 확장될 수 없는 클래스가 된다.
- 그래서 다른 클래스의 조상이 될 수 없다.
- 대표적으로 String, Math 가 있다.
메소드 final
- 변경될 수 없는 메소드
- final 메소드는 오버라이딩을 통해 재정의 될 수 없다.
멤버변수, 지역변수 final
- 변수 앞에 final이 붙으면 값을 변경할 수 없는 상수가 된다.
클래스 abstract
- 클래스 내에 추상 메소드가 선언되어 있다.
메소드 abstract
- 선언부만 작성하고 구현부는 작성하지 않은 추상 메소드
'자바' 카테고리의 다른 글
다형성 (0) | 2022.10.14 |
---|---|
접근 제어자와 캡슐화 (0) | 2022.10.12 |
import 문 / static import 문 (0) | 2022.10.12 |
패키지, 클래스 패스 (0) | 2022.10.11 |
참조변수 super / super() (0) | 2022.10.11 |