리플렉션으로 생성자 없이 인스턴스 찍어내는 법

유현호·2025년 4월 16일
0

전편에서 작성한 리플렉션이 너무 신기해서 또 신기한 기능 없나 찾아보다가 생성자 없이 인스턴스를 찍어낼 수 있다는 미친 사실을 발견하고 진짜 되는지 테스트 해봤다


package com.spring.basic.core.reflection;

public class ForReflection {




    public ForReflection() {

    }

    public void sayHello() {
        System.out.println("Hello world!");
    }

    private void secret() {
        System.out.println("이건 비밀 메서드인데;;");
    }
}
package com.spring.basic.core.reflection;

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class ReflectionTest {


    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, InstantiationException {


        Class<?> clazz = ForReflection.class;

        Constructor<?> constructor = clazz.getConstructor();

        ForReflection o = (ForReflection) constructor.newInstance();

        o.sayHello();

    }
}

이것의 실행결과에서 진짜 "Hello world!"가 찍힐까?

ㅇㅇ찍힌다 너무 신기하다

profile
제가 학습하고 기록하고 싶은 내용들을 지극히 개인적으로 기록하고 있습니다.

0개의 댓글