본문 바로가기

분류 전체보기45

ConfigLoader 예제 ConfigLoaderDemo.javapackage configloader;import configs.AppConfig;import java.io.IOException;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.nio.file.Path;import java.util.Scanner;public class ConfigLoaderDemo { private static final Path APP_CONFIG_PATH = Path.of("resources/application-config.cfg"); public .. 2024. 11. 27.
필드 제어 예제2) Json Serializer with Array JsonSerializerDemo.javapackage jsonserializer;import models.Actor;import models.Movie;import java.lang.reflect.Array;import java.lang.reflect.Field;public class JsonSerializerDemo { public static void main(String[] args) throws IllegalAccessException { Actor actor1 = new Actor("Chris Hemsworth", new String[]{"Thor", "Extraction"}); Actor actor2 = new Actor("Scarlett Johansson", .. 2024. 11. 27.
필드 제어 예제) JsonSerializer JsonSerializer.javapackage jsonserializer;import models.Address;import models.Company;import models.Person;import java.lang.reflect.Field;public class JsonSerializer { public static void main(String[] args) throws IllegalAccessException { Company company = new Company("TechCorp", "Seattle", new Address("Pine Street", (short) 800)); Address address = new Address("Broadway", (shor.. 2024. 11. 27.
Field 제어 import java.lang.reflect.Field;public class ReflectionDemo { public static void main(String[] args) { try { // Person 객체 생성 Person person = new Person("John Doe", 30); // Person 클래스의 필드 정보 출력 printClassFieldsInfo(person); // 'age' 필드의 값을 변경 setFieldValue(person, "age", 35); // 변경된 필드 값 출력 System.out.. 2024. 11. 27.
Java Reflect의 Array 제어 import java.util.Arrays;import java.util.List;public class ReflectionExample { public static void main(String[] args) { String[] stringArray = {"Hello", "World", "Java"}; List intList = Arrays.asList(1, 2, 3, 4); analyzeArray(stringArray); analyzeArray(intList); } public static void analyzeArray(Object arrayObject) { Class clazz = arrayObject.getClass(.. 2024. 11. 27.
Constructor 예제, 싱글턴에서(2) 1. Reflection 사용Main.java`Main` 클래스의 `initConfiguration` 메서드는 Java Reflection API를 사용하여 `ServerConfiguration` 클래스의 private 생성자를 호출함Constructor constructor = ServerConfiguration.class.getDeclaredConstructor(int.class, String.class);목적: Reflection은 private 생성자와 같은 일반적으로 접근할 수 없는 요소에 접근할 수 있도록 합니다.주요 단계:생성자 가져오기: getDeclaredConstructor를 통해 int와 String 매개변수를 받는 private 생성자를 가져옵니다.접근 허용: const.. 2024. 11. 26.