Java

[Java] 제어자(modifier)

Sigfriede 2024. 1. 22. 12:00

  제어자(modifier)는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 클래스나 멤버변수와 메소드에 주로 사용되며, 여러 제어자를 조합하여 사용할 수 있다.

 

  static

  인스턴스에 관계없이 같은 값을 가지며 변수 하나를 모든 인스턴스가 공유한다. static이 붙은 멤버변수, 메소드, 초기화 블럭은 인스턴스를 생성하지 않고도 사용할 수 있다. 이를 사용하면 인스턴스를 생성하지 않으므로 편리하고 속도도 더 빠르다는 장점이 있다.

 

  final

  거의 모든 대상에 사용할 수 있다. 변수에 쓰면 값을 변경할 수 없고, 메소드에 쓰면 오버라이딩을 할 수 없고, 클래스에 쓰면 부모가 될 수 없다. 일반적으로 선언과 초기화를 동시에 하지만, 인스턴스 변수는 생성자에서 초기화 할 수 있다.

 

  abstract

  메서드의 선언부만 작성하고 실제로 기능하는 부분은 구현하지 않은 추상 메소드를 선언할 때 또는 클래스 내에 추상 메소드가 있다는 것을 명시적으로 드러낼 때 쓰인다. 추상 클래스는 인스턴스를 생성할 수 없다. 추상 클래스 자체는 쓸모없지만 원하는 메소드만 오버라이딩 할 수 있다.

 

  ※ 자바의 정석(남궁성)을 참고하여 작성한 글입니다. 참고자료에는 게시글보다 상세하고 정확한 설명이 기재되어 있습니다. 이 게시글에  문제가 되거나 부정확한 부분이 있다면 알려주시면 감사하겠습니다.

'Java' 카테고리의 다른 글

[Java] 접근 제어자(access modifier)  (0) 2024.01.24
[Java] 오버로딩(overloading)과 오버라이딩(overriding)  (0) 2024.01.19
Thread safety  (0) 2024.01.17
자바의 실행 과정  (1) 2023.12.11