- 클래스와 클래스 멤버 ( 멤버변수, 메서드 )에 부가적인 의미 부여
- (종류)
접근제어자 public / protected / (default) : 아무것도 안붙인 것 / private
그 외 static / final / abstract / native / transient / synchronized / volatile / strictfp
- 하나의 대상에 여러 제어자를 같이 사용가능 ( 접근제어자는 하나만 가능 )
: 순서는 상관 없지만 보통 접근제어자를 제일 왼쪽에 쓴다.
ex) public class ModifierTest {
public static final int WIDTH = 200;
public static void main( String[] args ) {
System.out.println ( "WIDTH="+WIDTH );
}
}
1. static - 클래스의, 공통적인
2. final - 마지막의, 변경될 수 없는
3. abstract - 추상의, 미완성의
추상 클래스의 인스턴스는 생성 불가하다. - 상속을 통해서 추상클래스를 정의 해주어야 객체 생성이 가능하다. ( 추상클래스는 미완성 설계도라고 생각하면 된다. 즉 제품생산이 불가하다. )
4. 접근제어자 ( access modifier )
private 같은 클래스 내에서만 접근이 가능
(defalut) 같은 패키지 내에서만 접근이 가능
protected 같은 패키지 내에서 + 다른 패키지의 자손 클래스에서 접근이 가능
public 접근 제한이 없음
- 클래스 앞에는 public 또는 아무것도 붙이지 않는 defalut만 사용가능하고,
멤버 ( 변수, 메서드 )dpsms 4가지 전부 사용할 수 있다.
이미지 출처 : 자바의 정석
'JAVA' 카테고리의 다른 글
다형성 ( polymorphism ) (0) | 2022.02.27 |
---|---|
캡슐화 ( Encapsulation ) (0) | 2022.02.27 |
클래스간의 관계 - 포함( composite ) 관계 (cf. 상속) (0) | 2022.02.25 |
상속( Inheritance ) (0) | 2022.02.24 |
변수의 초기화 (0) | 2022.02.24 |