1. 학습목표
제어자에 대해 이해할 수 있다.
2.필요 개념 문장정리
제어자
- 제어자는 클래스, 변수 메서드 선언부와 함께 사용되어 부가적인 의미를 부여한다.
접근 제어자 - public, protected, default, private
그외 - static, final, abstract, native, transient, synchronized, volatile, strictfp - static이 붙은 멤버변수와 메서드 그리고 초기화 블럭은 인스턴스가 아닌 클래스에 관계된 것이기 때문에 인스턴스를 생성하지 않고도 사용할 수 있다.
- 인스턴스메서드와 static메서드의 근본적인 차이는 메서드 내에서 인스턴스 멤버를 사용하는가의 여부에 있다.
- static초기화 블럭은 클래스가 메모리에 로드될 때 단 한번만 수행되며 주로 클래스 변수를 초기화하는데 주로 사용된다.
static이 사용될 수 있는 곳 - 멤버변수, 메서드, 초기화블럭 - final은 변수에 사용되면 값을 변경할 수 없는 상수가 되며 메서드에 사용되면 오버라이딩을 할 수 없게 되고 클래스에 사용되면 자신을 확장하는 자손클래스를 정의하지 못하게 된다.
final이 사용될 수 있는 곳 - 클래스, 메서드, 멤버변수, 지역변수 - abstract는 메서드의 선언부만 작성하고 실제 수행내용은 구현하지 않은 추상메서드를 선언하는데 사용한다.
abstract가 사용될 수 있는 곳 - 클래스, 메서드
접근제어자
- 접근제어자는 멤버 또는 클래스에 사용되어 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다.
- 접근제어자가 사용될 수 있는 곳 - 클래스, 멤버변수, 메서드, 생성자
private 같은 클래스 내에서만 접근이 가능하다.
defult 같은 패키지 내에서만 접근이 가능하다.
protected 같은 패키지 내에서, 그리고 다른 패키지의 자손클래스에서 접근이 가능하다.
public 접근 제한이 전혀 없다. - 접근 범위 public > protected > (default) > private
3. 코드작성
4. 마무리
제어자의 사용에 대해 이해할 수 있었다.
'언어 기초 > JAVA' 카테고리의 다른 글
메서드 [JAVA | 학습을 위한 자료| 김영한 자바 입문] (0) | 2024.06.05 |
---|---|
[자바의정석 | Chapter 08 예외처리] try - catch (0) | 2024.03.25 |
[자바의정석 | Chapter 07 객체지향 프로그래밍2] super, super() (0) | 2024.02.19 |
[자바의정석 | Chapter 07 객체지향 프로그래밍2] 오버라이딩 (0) | 2024.02.05 |
[자바의정석 | Chapter 07 객체지향 프로그래밍2] 상속 (0) | 2024.02.01 |