Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

codingfarm

제어자(Modifier) 본문

Programming Language/JAVA

제어자(Modifier)

scarecrow1992 2025. 5. 29. 16:57

1. 개요

  • 정의 : 클래스 클래스의 멤버(필드, 메소드)에 부가적인 의미를 부여하는 예약어
  • 특징
    • 제어자의 종류에 따라 적용 가능 한 대상(class, attribute, method, constructor)이 다름
    • 적용 대상에 따라 기능적 의미가 조금씩 다름
  • 종류
    • 접근 제어자(Access Modifier) : 접근 수준을 통제
      • ex) public, protected, private
    • Non-Access Modifier : 이외의 기능들을 통제
      • ex) static, final, abstract

 

 

2. 접근 제어자(Access Modifier)

  • class
    • public : 다른 클래스에서 접근 가능
    • default : 동일 패키지에 있는 클래스만 접근 가능
  • attribute, method, constructor
    • public : 모든 클래스에서 접근 가능
    • private : 선언한 클래스 내부에서만 접근 가능
    • default : 동일한 패키지에서만 접근 가능
    • protected : 동일한 패키지와 자식클래스에서만 접근 가능

 

3. Non-Access Modifier

  • class :
    • final : 상속 불가능
    • abstract : 오브젝트 생성 불가능
  • attribute, method
    • final : 오버라이드와 수정 금지
    • static : object가 아닌, 클래스에 속하게 됨
    • abstract
      • abstract 클래스/메서드에서만 사용 가능
      • 함수의 경우 정의를 할 수 없게 됨
      • 자식 클래스에서는 abstract 메서드를 반드시 재정의 해야 함
    • transient : 직렬화 되지 않음
    • synchronized : 동시에 1개의 스레드에 의해서만 접근 가능
    • volatile : 스레드 로컬 메모리에 캐쉬 되지 않으며, 항상 main memory에서 읽어옴

 

 

 

 

'Programming Language > JAVA' 카테고리의 다른 글

패키지, 라이브러리, 컴포넌트, 모듈  (0) 2025.05.29
캡슐화(Encapsulation)  (0) 2025.05.29
Type Casting  (0) 2025.05.29
사용자정의 예외 만들기  (0) 2021.04.05
예외 되던지기(exception re-throwing  (0) 2021.04.05
Comments