1. fiinal필드와 상수, final 메소드, final 클래스, final 지역변수
1) final 필드
final 키워드는 인스턴스 필드를 생성시 바로 값을 할당해 다시는 못바꾸게 하는 방법과 final 인스턴스 필드를 값을주지 않고 선언한 후 생성자를 통해 딱 한번 초기화 할 수 있다.
2) 상수
Static final는 정적 필드를 생성시 값을 주어 다시는 못바꾸게 하는 방법과 파이널 정적 필드를 값을 주지 않고 선언 후 정적 블록을 통해 딱 한번 초가화 할 수 있다.
이는 상수를 선언하는 방법으로 사용된다.
3) final 메소드
- final 메소드는 상속은 되나 자식 클래스에서 재정의할 수 없는 메소드이다.
4) final 클래스
- final 클래스는 상속할 수 없는 클래스 이다.
5) 지역변수에 final 키워드
- method에서 final 변수는 선언 후 그 메소드 아무곳에서 초기화를 딱 한번 할 수 있다.
2. 접근 제한자
1) public
적용 대상 : 클래스, 필드, 생성자, 메소드
접근 제한이 없다.
같은 패키지에서 선언된 public class는 객체를 생성하고 바로 접근이 가능하다.
서로 다른 패키지에 선언된 public class는 클래스를 import 한 뒤 객체를 생성하여 접근할 수 있다.
2) protected
적용 대상 : 필드, 생성자, 메소드
이 접근 제한자는 만약 같은 패키지에 선언되어 있다면 public과 같이 그냥 객체를 생성하여 접근할 수 있다.
하지만 다른 패키지에 선언된 protected 접근 제한은 import를 한다면 상속 받은 자식 객체에서만 허용하게 된다.
3) default
적용 대상 : 클래스, 필드, 생성자, 메소드
같은 패키지 내애 default라면 public과 같이 그냥 객체를 생성하여 접근하면 됨
다른 패키지에 default라면 import를 해도 접근이 안됨
4) private
적용 대상 : 필드, 생성자, 메소드
private을 선언한 클래스 내부에서만 private에 접근이 가능하다.
이것이 외에는 모든 외부 클래스에서는 접근이 불가능하다.
'Java' 카테고리의 다른 글
7. 클래스 탐구 (0) | 2022.01.20 |
---|---|
6. 클래스 정리3 : 패키지와 imoprt (0) | 2022.01.20 |
4. 클래스 정리 1 : JVM 메모리 사용 영역, class 맴버 정리(Instance, static 맴버), overloading (0) | 2022.01.20 |
3. 배열을 활용한 문제 만들기 (0) | 2022.01.17 |
3. 1,2 차원 배열 선언 문법 (0) | 2022.01.17 |