728x90
반응형

제어자(modifier)

 - 클래스, 멤버변수, 메서드의 선언부에 주로 사용된다

 - 하나의 대상에 여러 개의 제어자를 조합하여 사용할 수 있으나, 접근제어자는 한번에 4개중 하나만 선택하여 사용할 수 있다. 즉, 하나의 대상에 대하여 public과 private를 동시에 사용할 수 없다.

 - 제어자는 크게 접근 제어자와 그 외의 제어자로 나뉜다.


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

그         외 :: static, final, abstract, native, transient, synchronized, volatile, strictfp



static (클래스의, 공통적인 제어자)

 static이 사용될수 잇는곳 :: 멤버변수, 메서드, 초기화 블럭


멤버변수 -> 모든 인스턴스에 공통적으로 사용되는 클래스변수가 된다.

                  클래스변수는 인스턴스를 생성하지 않고도 사용 가능하다.

                  클래스가 메모리에 로드될 때 생성된다.

메서드 -> 인스턴스를 생성하지 않고도 호출이 가능한 static메서드가 된다.

               static메서드 내에서는 인스턴스멤버들을 직접 사용할 수 없다.




final (마지막의, 변경될 수 없는 제어자)

 final이 사용될 수 있는 곳 :: 클래스, 메서드, 멤버변수, 지역변수


클래스 -> 변경될 수 없는 클래스, 확장될 수 없는 클래스가 된다. 그래서 final로 지정된 클래스는 다른 클래스의 조상이 될 수 없다.

메서드 -> 변경될 수 없는 메서드, final로 지정된 메서드는 오버라이딩을 통해 재정의 될 수 없다.

멤버변수 -> 변수 앞에 final이 붙으면, 값을 변경할 수 없는 상수가 된다.

지역변수 -> 변수 앞에 final이 붙으면, 값을 변경할 수 없는 상수가 된다.




접근 제어자 (access modifier)

 멤버 또는 클래스에 사용되어, 외부로부터의 접근을 제한한다.

 접근 제어(access control) :: 다른 클래스가 특정한 필드나 메서드에 접근하는 것을 제어하는 것


접근 제어자가 사용될 수 있는 곳 :: 클래스, 멤버변수 메서드, 생성자

 private -> 같은 클래스 내에서만 접근이 가능하다.

 default -> 같은 패키지 내에서만 접근이 가능하다.

 protected -> 같은 패키지 내에서, 그리고 다른 패키지의 자손클래스에서 접근이 가능하다.

 public -> 접근 제한이 전혀 없다.




접근 제어의 종류

 클래스의 접근 제어

 - public : 다른 모든 클래스가 사용할 수 있는 공용 클래스

 - package(default) : 같은 패키지 안에 있는 클래스들만 사용할 수 있는 클래스


 멤버의 접근 제어

 


 

<접근 제어>



728x90
반응형

+ Recent posts