본문 바로가기
IT/java

자바(Java) 일반 제어자

by 뉴코딩맨 2023. 6. 8.
Java에서는 일반 제어자(non-access modifier)를 사용하여 클래스, 변수, 메서드 등의 특성을 조정할 수 있습니다. 일반 제어자는 코드의 동작 방식을 세밀하게 제어하고 클래스의 상태를 변경하는 데 사용됩니다. Java의 일반 제어자에 대해 자세히 알아보고, 예시를 통해 설명하겠습니다.

 

 

일반 제어자의 종류

Java에서는 다음과 같은 일반 제어자를 제공합니다.
  • static: 정적 멤버로 선언되며, 클래스 수준의 멤버로 인스턴스와 관계없이 사용됩니다.
  • final: 변경할 수 없는 상수로 선언되며, 변수, 메서드 또는 클래스에 적용될 수 있습니다.
  • abstract: 구현을 갖지 않는 추상 클래스나 메서드로 선언되며, 서브클래스에서 구현이 필요합니다.
  • synchronized: 동시에 실행되는 여러 스레드 간의 동기화를 제공하여 스레드 간의 충돌을 방지합니다.
  • volatile: 메모리에 대한 가시성과 순서를 보장하여 스레드 간의 데이터 일관성을 유지합니다.

 

 

예시를 통한 설명

다음은 예시를 통해 각 일반 제어자의 사용 방법과 특징을 설명합니다.
 
public class Example {
    public static int staticVar;
    public final int finalVar;
    public abstract void abstractMethod();
    public synchronized void synchronizedMethod() {
    	// synchronized 메서드의 내용
    }
    public volatile boolean volatileVar;

    // 일반 제어자가 없는 일반 메서드
    public void normalMethod() {
    	// 일반 메서드의 내용
    }
}
 
위의 예시에서 Example 클래스의 멤버 변수와 메서드는 각각 다른 일반 제어자를 가지고 있습니다. 이제 각 멤버에 대해 일반 제어자의 특징을 살펴보겠습니다.
 
  • staticVar: 정적 변수로서 클래스 수준의 변수이므로 인스턴스와 관계없이 사용됩니다.
  • finalVar: 변경할 수 없는 상수로서 값을 한 번 할당하면 변경할 수 없습니다.
  • abstractMethod: 구현을 갖지 않는 추상 메서드로, 서브클래스에서 구현해야 합니다.
  • synchronizedMethod: 여러 스레드 간의 동기화를 제공하여 스레드 간의 충돌을 방지합니다.
  • volatileVar: 메모리 가시성과 순서를 보장하여 스레드 간의 데이터 일관성을 유지합니다.
마지막으로, normalMethod는 일반 제어자가 없는 일반 메서드로, 특별한 제어나 제약이 없이 사용됩니다.
 
 

결론

Java의 일반 제어자에 대해 소개하고, 각 일반 제어자의 특징과 사용 방법을 설명했습니다. 일반 제어자를 적절하게 활용하면 클래스, 변수, 메서드 등을 더욱 효과적으로 제어할 수 있습니다. 프로그램의 요구사항에 맞게 일반 제어자를 선택하고 활용하여 코드를 작성해보세요.
 

'IT > java' 카테고리의 다른 글

자바(Java) 문자열  (0) 2023.06.08
자바(Java) 예외 처리  (0) 2023.06.08
자바(Java) 접근 제어자  (0) 2023.06.08
자바(Java) 패키지  (0) 2023.06.08
자바 추상클래스와 인터페이스: 다형성을 위한 핵심 도구들  (0) 2023.06.07

댓글