Java6 자바 enum 📝 자바 Enum 상세 설명 및 활용 예제enum은 자바에서 열거형 데이터 타입으로, 서로 관련 있는 상수들의 집합을 표현하는 데 사용됩니다. 타입 안전성을 보장하며, 추가 필드와 메서드를 가질 수 있어 매우 유용합니다.1. 기본 구조public enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;} 2. 특징타입 안전성 보장: 특정 enum 값만 사용할 수 있도록 제한.가독성 향상: 코드의 의미를 명확하게 전달.Switch 문에서 사용 가능: 가독성과 유지 보수성을 높임.메서드와 필드 정의 가능: 추가적인 데이터와 동작을 포함 가능.Singleton 패턴 유사성: enum 값은 JVM에서 하나의 인스턴스로만 존.. Java 2024. 12. 9. 자바 리플렉션 📝 Java ReflectionJava Reflection은 런타임(Run-time)에 클래스, 메서드, 필드 등의 정보를 동적으로 탐색하고 조작할 수 있는 기능을 제공하는 Java API입니다. 즉, 코드 실행 중에 클래스의 구조를 검사하거나 조작할 수 있습니다.리플렉션은 java.lang.reflect 패키지와 java.lang.Class 클래스를 통해 제공됩니다.1. 리플렉션의 주요 기능클래스 정보 조회: 클래스 이름, 패키지 이름, 부모 클래스, 구현 인터페이스 등의 정보를 확인할 수 있습니다.필드(Field) 조회 및 수정: 클래스의 멤버 변수를 동적으로 읽고 수정할 수 있습니다.메서드(Method) 호출: 클래스의 메서드를 동적으로 호출할 수 있습니다.생성자(Constructor) 호출: 클.. Java 2024. 12. 7. [Java] JDK, JRE, JVM 질의응답 (ChatGPT) 🔥 .java → javac → .class → JVM❓ Question자바 컴파일러에 의해 클래스 파일이 되고 이 클래스 파일을 JVM에서 실행하는거 맞아? 📝 Answer네, 맞습니다! 자바 프로그램이 실행되는 과정은 다음과 같습니다:자바 소스 코드 작성: 개발자는 .java 파일에 자바 코드를 작성합니다.컴파일: 자바 컴파일러(javac)를 사용하여 .java 파일을 컴파일하면 바이트코드가 포함된 .class 파일이 생성됩니다. 이 .class 파일은 JVM이 이해할 수 있는 중간 형태의 코드입니다.실행: 자바 가상 머신(JVM)이 .class 파일을 읽어서 실행합니다. JVM은 바이트코드를 해석하거나 Just-In-Time (JIT) 컴파일러를 사용하여 바이트코드를 네이티브 머신 코드로 변환하.. Java 2024. 8. 31. [Java] Reflection Java Reflection이란? 리플렉션은 구체적인 클래스 타입을 알지 못하더라도 그 클래스의 메서드, 타입, 변수들에 접근할 수 있도록 해주는 자바 API이며, 컴파일 시간이 아닌 실행 시간(런타임)에 동적으로 특정 클래스의 정보를 추출할 수 있는 프로그래밍 기법이다. JVM 힙 영역에 로드된 Class(대문자 'C') 타입의 객체를 통해, 원하는 클래스의 인스턴스를 생성할 수 있도록 지원하고, 인스턴스의 필드와 메소드를 접근 제어자와 상관 없이 사용할 수 있도록 지원하는 API 여기서 로드된 클래스라고 함은, JVM의 클래스 로더에서 클래스 파일에 대한 로딩을 완료한 후, 해당 클래스의 정보를 담은 Class 타입의 객체를 생성하여 메모리의 힙 영역에 저장해 둔 것을 의미한다. JVM 메모리 구조 .. Java 2024. 2. 21. Generics (Java) 강의를 듣던중 지네릭스 선언 방식, 사용방식이 기억이 나지 않았습니다. 지네릭스에 관한 전반적인 내용을 블로그에 정리해보겠습니다. // 강의 코드 @Slf4j @RequiredArgsConstructor public class TraceTemplate { private final LogTrace trace; public T execute(String message, TraceCallback callback) { TraceStatus status = null; try { status = trace.begin(message); // 로직 호출 T result = callback.call(); trace.end(status); return result; } catch (Exception e) { trace.e.. Java 2024. 2. 12. JVM 메모리 구조 (JAVA) JVM과 JVM 메모리 구조 JVM 메모리 구조를 알아야 하는 이유 대규모 프로젝트를 Java로 개발할 때, 메모리 관리에 따라 프로그램 성능이 월등히 차이날 수 있기 때문입니다. 이것이 어떤 상황을 의미하는지, 메모리 구조를 잘 알고 있다면 어떻게 프로그램 성능 개선에 활용할 수 있는지 아직 알 수 없지만 자바 개발자라면 기본적으로 알고 있어야 하는 덕목인 것 같아서 정리하는 시간을 가져봅니다. 우선 JVM이 무엇인지 알아보겠습니다. JVM이란? JVM은 Java Virtual Machine, 자바 가상 머신 자바와 운영체제사이에서 중계자 역할을 합니다. 그래서 자바가 운영체제 종류에 영향받지 않고 돌아갈 수 있습니다. 메모리 관리를 자동으로 해주는 가비지 컬렉터(GC)의 기능도 있습니다. 이 외의 기.. Java 2024. 2. 8. 이전 1 다음