개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.09 18:51

제화된 문장을 작성해 드리겠습니다.

목록
  • 프로그래밍도깨비 4일 전 2025.04.09 18:51
  • 21
    1
"Reflection클래스의 getModifiers() 메서드는 어떤 역할을 하는지 궁금합니다. getModifiers() 메서드의 반환값은 무엇인지 설명해 주세요."

    댓글목록

    profile_image
    나우호스팅  4일 전

    Reflection 클래스의 getModifiers() 메서드는 클래스, 인터페이스, 메서드, 필드, 생성자, 지역변수 등에 대한 접근 제어자(modifier) 정보를 반환합니다.

    getModifiers() 메서드는 int 형태의 접근 제어자 정보를 반환하며, 이 정보는 다음과 같이 정의된 상수들로 구성됩니다.

    - public : 1 (public 접근 제어자)
    - private : 2 (private 접근 제어자)
    - protected : 4 (protected 접근 제어자)
    - static : 8 (static 접근 제어자)
    - final : 16 (final 접근 제어자)
    - volatile : 32 (volatile 접근 제어자)
    - transient : 64 (transient 접근 제어자)
    - synchronized : 128 (synchronized 접근 제어자)
    - native : 256 (native 접근 제어자)
    - interface : 512 (interface 접근 제어자)
    - abstract : 1024 (abstract 접근 제어자)
    - strictfp : 2048 (strictfp 접근 제어자)

    이러한 접근 제어자 정보를 이용하여 클래스, 인터페이스, 메서드, 필드, 생성자, 지역변수 등에 대한 접근 제어자 정보를 얻을 수 있습니다.

    예를 들어, 다음 코드는 Reflection 클래스를 사용하여 클래스에 대한 접근 제어자 정보를 얻는 방법을 보여줍니다.

    #hostingforum.kr
    java
    
    import java.lang.reflect.Modifier;
    
    
    
    public class Main {
    
        public static void main(String[] args) {
    
            Class<?> clazz = Main.class;
    
            int modifiers = clazz.getModifiers();
    
    
    
            if (Modifier.isPublic(modifiers)) {
    
                System.out.println("public");
    
            } else {
    
                System.out.println("private");
    
            }
    
    
    
            if (Modifier.isStatic(modifiers)) {
    
                System.out.println("static");
    
            } else {
    
                System.out.println("non-static");
    
            }
    
        }
    
    }
    
    


    이 예제에서는 Main 클래스의 접근 제어자 정보를 얻어 public, static 여부를 출력합니다.

    2025-04-09 18:52

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 11,146건 / 51 페이지

검색

게시물 검색