제어자

yanju·2022년 12월 3일
0
post-thumbnail

제어자는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다.

제어자의 종류는 접근 제어자와 그 외의 제어자로 나눌 수 있다.

// 접근 제어자
public, protected, default, private

// 그 외 제어자
static, final, abstract, native, transient, synchronized, volatile, strictfp

제어자는 클래스나 멤버변수와 메서드에 주로 사용된다.

하나의 대상에 대해서 여러 제어자를 조합하여 사용하는 것이 가능하다.

단 접근 제어자는 한 번에 하나만 선택해서 사용한다.

제어자의 조합

제어자를 조합할해서 사용할 때 다음 사항을 주의해야한다.

  1. 메서드에 static과 abstarct를 함께 사용할 수 없다
    • static 메서드는 몸통이 있는 메서드에만 사용할 수 있다.
  2. 클래스에 abstract와 final을 동시에 사용할 수 없다
    • 클래스에 사용되는 final은 클래스를 확장할 수 없다는 의미다.
    • abstract는 상속을 통해서 완성되어야 한다는 의미다.
    • 이 둘은 서로 모순된다.
  3. abstract 메서드의 접근 제어자가 private일 수 없다
    • abstract 메서드는 자식 클래스에서 구현해주어야 한다.
    • 접근 제어자가 private이면 자식 클래스에서 접근할 수 없다.
  4. 메서드에 private과 final을 같이 사용할 필요는 없다
    • 접근 제어자가 private인 메서드는 오버라이딩 될 수 없다.
    • 둘 중 하나만 사용해도 의미가 충분하다.

0개의 댓글