CodeGym
AI Academy
프로모션
CodeGym University
학습
강좌
과제
설문 & 퀴즈
게임
도움말
일정
커뮤니티
사용자
포럼
채팅
아티클
성공 사례
활동
후기
구독
라이트 테마

강의

  • 리뷰
  • 회사 소개
시작
학습 시작
Start learning now
  • 진행 상황
  • 코스
  • 퀘스트 맵
  • 레슨
  • 리플렉션 입문: Class 클래스, 왜 필요한가

    JAVA 25 SELF
    레벨 62,레슨 0
    Java에서 리플렉션이 무엇이며 프레임워크와 도구에 왜 필요한지, 리플렉션의 심장인 Class 객체가 어떻게 동작하는지, 그리고 그것을 얻는 방법들( .class, getClass(), Class.forName())을 살펴봅니다. 언제 리플렉션을 써야 하고 언제 쓰지 않아야 하는지 이야기하고, 메타데이터(이름, 패키지, 슈퍼클래스, 인터페이스) 얻기 예시를 본 뒤, 미니 유틸리티 “이건 어떤 클래스?”와 흔한 오류들( ClassNotFoundException, 성능, 보안)을 다룹니다.
    사용 가능
  • 클래스, 필드, 메서드 정보 가져오기

    JAVA 25 SELF
    레벨 62,레슨 1
    이 강의에서는 Java의 리플렉션을 다룹니다. Class API를 통해 필드( getFields()/ getDeclaredFields()), 메서드( getMethods()/ getDeclaredMethods()), 생성자( getConstructors()/ getDeclaredConstructors()), 애너테이션( getAnnotations()) 정보를 얻는 방법을 배웁니다. 또한 Modifier를 통해 한정자( public, private, protected, static, final)를 확인하고, “public vs declared” 차이를 이해한 뒤, 클래스 인스펙터 미니 유틸리티를 만들고 시각적 다이어그램을 살펴봅니다.
    사용 가능
  • 리플렉션의 보안, 제약, 그리고 대안

    JAVA 25 SELF
    레벨 62,레슨 2
    이번 강의에서는 리플렉션의 위험과 제약을 다룹니다: setAccessible( true)로 캡슐화를 우회하는 방법, final 필드를 바꾸려는 시도와 JVM 최적화 때문에 왜 위험한지; SecurityManager의 변화, 그리고 모듈 시스템(Java 9+)이 InaccessibleObjectException으로 이어지는 이유. 또한 성능과 타입 안전성 손실, 현대적 대안들( record, sealed, pattern matching, APT, DI)과 모범 사례를 이야기합니다. 마지막에는 JVM 매개변수 --add-opens를 사용하는 실습 예제를 보여 드립니다.
    사용 가능
  • 리플렉션을 통한 객체 생성

    JAVA 25 SELF
    레벨 62,레슨 3
    런타임에 객체를 생성하고 클래스에 접근하는 방법: 왜 Class.newInstance()가 더 이상 권장되지 않는지, getConstructor/ getDeclaredConstructor와 Constructor.newInstance를 올바르게 사용하는 법, Method.invoke로 메서드를 호출하고 Field로 필드를 읽고/수정하는 법을 다룹니다. 대표적인 예외들( ReflectiveOperationException 등), 모듈 시스템의 제약, 유용한 실무 팁, 그리고 동적 인스턴스 생성을 위한 미니 유틸리티까지. 보너스 — 전체 과정을 한눈에 보는 도식도 포함되어 있습니다.
    사용 가능
  • 리플렉션과 의존성 주입 (Dependency Injection)

    JAVA 25 SELF
    레벨 62,레슨 4
    이 강의에서는 Java에서의 리플렉션 실무를 다룹니다: Class, Field, Method를 통해 private 필드를 읽고( setAccessible( true)) 간단한 직렬화기를 만드는 방법; DI 컨테이너가 애노테이션( @Inject, @Autowired)을 통해 생성자와 필드로 의존성을 주입하는 방식; Proxy와 InvocationHandler 기반의 동적 프록시가 호출을 가로채는 방식; 이것이 실제로 어디에 쓰이는지( Spring, JUnit, Jackson)와 어떤 제한과 오류가 있는지를 살펴봅니다.
    사용 가능
학습
  • 등록
  • Java 과정
  • 과제 도움
  • 요금
  • Java 문법
커뮤니티
  • 사용자
  • 아티클
  • 포럼
  • 채팅
  • 성공 사례
  • 활동
  • 제휴 프로그램
회사
  • 회사 소개
  • 연락처
  • 후기
  • 보도자료실
  • CodeGym for EDU
  • FAQ
  • 지원
CodeGymCodeGym 은(는) 처음부터 Java 프로그래밍을 배우기 위한 온라인 코스입니다. 이 과정은 초보자가 Java를 마스터하기에 완벽한 방법입니다. 즉시 검증 기능이 포함된 1200개 이상의 과제와 Java 기초 이론의 필수 범위를 제공합니다. 학습 성공을 돕기 위해 퀴즈, 코딩 프로젝트, 효율적인 학습법 관련 콘텐츠, Java 개발자 경력 관련 자료 등 동기 부여 기능들을 구현했습니다.
팔로우하기
인터페이스 언어
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語
한국어
Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmers Are Made, Not Born" © 2026 CodeGym
MastercardVisa
"Programmers Are Made, Not Born" © 2026 CodeGym