18. 제어자

Lee kyu min·2024년 1월 29일

Java study

목록 보기
17/41

제어자(modifier)

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

1. 접근제어자

  • 클래스 및 인터페이스 그리고 이들이 가진 멤버의 접근을 제한하기 위해 사용
    (객체지향에서의 캡슐화와 관련)

1). public

  • 접근 제한 없음.
  • 클래스를 다른 개발자가 사용할 수 있도록 라이브러리 클래스로 개발한다면 public접근 제한을 갖도록 해야 한다.

2). protected

  • 같은 패키지 또는 다른 패키지에 속한 자식 클래스에서 사용할 수 있도록 한다.

3). default

  • 같은 패키지에 소속된 클래스만 사용 가능
  • 접근제한자를 생략하고 클래스를 선언했다면 default 접근제한자가 적용된다.

4). private

  • 같은 클래스 내부에서만 사용 가능하다.

생성자의 접근 제한

  • 클래스에 접근제한자를 선언하지 않으면 컴파일러에 의해 자동으로 기본 생성자가 추가된다.
    자동 생성된 접근 제한은 불러오는 클래스의 접근 제한과 동일하다.

2. 그 외 제어자

  • static, final, abstract, native, transient, synchronized, volatile, strictfp

1) static

  • 클래스의, 공통적인
    해당 키워드가 붙은 변수 및 메서드는 인스턴스 관계없이 같은 값을 가지며 인스턴스 생성없이 사용 가능하다.

2). final

  • 마지막의, 변경될 수 없는
    거의 모든 대상에 사용가능하며 변수에 사용하면 상수가 되고 메서드에 사용하면 오버라이딩이 불가능하고 클래스에 사용되면 자손 클래스를 만들 수 없다.

3). abstract

  • 추상의, 미완성의
    추상 메서드 선언시 사용된다.

0개의 댓글