클래스,변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여합니다
접근제어자 public ,protected,default,private
- public - 모두 접근 가능
- protected - 동일 패키지, 다른 패키지는 자손클래스에서 접근 가능
- default - 동일 패키지 안에서만 접근 가능
- private - 동일 클래스 안에서만 접근 가능
그외 static, final, abstract, native, transient, synchronized, volatile, strictfp
static (클래스의, 공통적인)
제어자 | 대상 | 의미 |
static | 멤버변수 | 모든 인스턴스에 공통적으로 사용되는 클래스 변수 클래스 변수는 인스턴스를 생성하지 않고도 사용 가능 클래스가 메모리에 로드될 때 사용 |
메서드 | 인스턴스를 생성하지 않고도 호출이 가능한 static 메서드 static 메서드 내에서 인스턴스 멤버들을 직접 사용할 수 없음 |
final (마지막의, 변경될 수 없는,인터페이스때 씁니다.)
제어자 | 대상 | 의미 |
final | 클래스 | 변경될 수 없는 클래스, 확장될 수 없는 클래스 final로 지정된 클래스는 다른 클래스의 조상이 될 수 없음 |
메서드 | 변경될 수 없는 메서드 final로 지정된 메서드는 오버라이딩을 통해서 재정의 될 수 없음 |
|
멤버 변수 | 변수 앞에 final이 붙으면, 값을 변경할 수 없는 상수가 됨 | |
지역 변수 |
abstratc (추상의, 미완성의) (인터페이스,추상적 클래스때 많이 사용합니다 고급기술)
제어자 | 대상 | 의미 |
abstract | 클래스 | 클래스 내에 추상 메서드가 선언되어 있음을 의미 |
메서드 | 선언부만 작성하고 구현부는 작성하지 않은 추상 메서드 |
접근 제어자는 4개중 1개만 쓸수 있습니다
접근 제어자를 이용한 캡슐화
데이터를 보호하기위해 접근 제어자를 씁니다
접근제어자를 사용하는 이유
외부로부터 데이터를 보호하기 위해서입니다
외부에는 불필요한, 내부적으로만 사용되는, 부분을 감추기 위해서입니다
제어자 의 조합
'JAVA > 객체지향' 카테고리의 다른 글
추상 클래스 (0) | 2023.02.23 |
---|---|
다형성 (0) | 2023.02.23 |
Package와 import (0) | 2023.02.23 |
super & super() (0) | 2023.02.23 |
상속 (0) | 2023.02.23 |