자바에서 제어자(Modifier)는 클래스, 변수, 메서드 등의 선언부에 사용되어 특정한 의미나 기능을 부여하는 키워드입니다. 제어자는 자바 프로그래밍에서 가장 기본이 되는 개념 중 하나이며, 다음과 같은 종류가 있습니다.
1.접근 제어자(Access Modifier)
접근 제어자는 클래스, 변수, 메서드 등이 외부에서 접근할 수 있는지 여부를 결정하는 제어자입니다.
1-1.public: 어떤 패키지에서든 접근할 수 있도록 제한을 없애주는 제어자입니다.
1-2.protected: 같은 패키지 내에서는 public과 같이 동작하며, 다른 패키지에서는 상속받은 클래스에서만 접근할 수 있습니다.
1-3.default(생략 가능): 같은 패키지 내에서만 접근할 수 있도록 하는 제어자입니다.
1-4.private: 같은 클래스 내에서만 접근할 수 있도록 하는 제어자입니다.
2.그 외의 제어자
2-1.static: 클래스 변수나 메서드에서 사용되며, 해당 변수나 메서드가 클래스 자체에 속하게 됩니다. 따라서 객체를 생성하지 않고도 클래스 이름으로 접근할 수 있습니다.
2-2.final: 상수를 선언할 때 사용되며, 값을 변경할 수 없도록 합니다.
2-3.abstract: 추상 클래스와 추상 메서드를 선언할 때 사용되며, 클래스나 메서드의 내용이 미완성인 상태로 남아있어서 직접 사용할 수 없습니다.
2-4.synchronized: 멀티 스레드 환경에서 동기화를 위해 사용되며, 한 번에 하나의 스레드만이 실행할 수 있도록 합니다.
2-5.volatile: 멀티 스레드 환경에서 동기화를 위해 사용되며, 변수의 값이 항상 메모리에 저장되도록 보장합니다.
제어자는 자바에서 기본적으로 제공하는 기능으로, 객체 지향 프로그래밍에서 중요한 역할을 합니다. 제어자를 적절하게 사용하여 프로그램의 가독성과 안정성을 높일 수 있습니다.
'java(자바)' 카테고리의 다른 글
[java(자바)] 팩토리 패턴 _디버깅의 눈물 (0) | 2023.02.25 |
---|---|
[java(자바)] == vs equals() _디버깅의 눈물 (0) | 2023.02.25 |
[java(자바)] final 키워드 _디버깅의 눈물 (0) | 2023.02.24 |
[java(자바)] final, finally, finalize의 차이점? _디버깅의 눈물 (0) | 2023.02.24 |
[java(자바)] 다형성 _디버깅의 눈물 (0) | 2023.02.24 |