겉바속촉
객체지향 - 제어자(modifier) 본문
728x90
반응형
제어자란 ?
<개념>
- 클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미 부여
- 접근제어자와 그 외의 제어자로 나뉨
- 하나의 대상에 여러 개의 제어자를 조합해서 사용하는 것이 가능
- 단, 접근제어자는 하나만 사용 가능
- 접근제어자 -> public, protected, default, private
- 그 외 -> static, final, abstract, native, transient, synchronized, volatile, strictfp
1. static
- 클래스의, 공통적인
- 멤버변수, 메서드, 초기화 블럭에서 사용
- 멤버변수
- 모든 인스턴스에 공통적으로 사용되는 클래스 변수가 됨
- 클래스변수는 인스턴스 생성하지 않고도 사용 가능
- 클래스가 메모리에 로드될 때 생성됨 - 메서드
- 인스턴스를 생성하지 않고도 호출이 가능한 static 메서드가 됨
- static 메서드 내에서는 인스턴스 멤버들을 직접 사용할 수 없음
2. final
- 마지막의, 변경될 수 없는
- 클래스, 메서드, 멤버변수, 지역변수에서 사용
- 클래스
- 변경될 수 없는 클래스, 확장될 수 없는 클래스가 됨
- final로 지정된 클래스는 다른 클래스의 조상이 될 수 없음 - 메서드
- 변경될 수 없는 메서드
- final로 지정된 메서드는 오버라이딩을 통해 재정의 될 수 없음 - 멤버변수, 지역변수
- 변수 앞에 final이 붙으면, 값을 변경할 수 없는 상수가 됨.
3. abstract
- 추상의, 미완성의
- 클래스, 메서드에서 사용
- 클래스
- 클래스 내에 추상메서드가 선언되어 있음을 의미 - 메서드
- 선언부만 작성하고 구현부는 작성하지 않은 추상메서드임을 의미
728x90
반응형
'IT 일기 (상반기) > JAVA' 카테고리의 다른 글
객체지향 - 다형성(polymorphism) (0) | 2022.11.09 |
---|---|
객체지향 - 접근 제어자(access modifier) (0) | 2022.11.07 |
객체지향 - import (0) | 2022.11.07 |
객체지향 - 패키지(package) (0) | 2022.11.07 |
객체지향 - super (참조변수) (0) | 2022.11.07 |