kiioio
  • Home
  • Tags
  • Contact
Sign in

Java 기초 Class - 생성하기

#Java #Class #Foundation #ProjectJF #Reflection #Method #Framework #MetaData

kiio

Jun 17, 2025 — 1 min read

앞서 Class 객체를 사용하여 정보를 조회하는 것을 살펴보았다. 메소드를 호출하고 필드 값 또한 변경 가능하므로 예제로 인스턴스로 생성해보도록 한다.

Hello.class

public class Hello {
    public String getName() {
        return "Hello";
    }
}

Main.class

public class Main {
    public static void main(String[] args) throws Exception {

        Class helloClass = Hello.class;

        // 반환하면 오브젝트로 반환할 수 있고, 캐스팅을 해주어야 한다.
        Hello hello = (Hello) helloClass.getDeclaredConstructor().newInstance();
        String result = hello.getName();
        System.out.println("hello = " + hello);
        System.out.println("hello = " + result);

    }
}

hello = Hello@23fc625e
hello = Hello

클래스 변수에 할당하고 새 인스턴스로 반환한다.
새로운 인스턴스는 객체를 갖게 되었고 메소드를 호출하여 정보를 출력했다.

getDeclaredConstruct().newInstance() 메소드

  • getDeclaredConstruct()
    • 생성자를 가져온다.
  • newInstance()
    • 가져온 생성자에서 인스턴스를 생성한다.

리플렉션 - reflection

Class 타입으로 메타 정보 기반으로 정의한 메소드, 필드, 생성자를 조회했을 뿐 아니라 객체의 인스턴스를 생성하고 메소드를 호출하는 모습을 볼 수 있었다.
이를 리플렉션이라 한다.

Class 메타 정보로 애노테이션 정보를 읽거나 특별한 기능을 수행할 수 있고 최근 프레임워크는 이런 기능을 적극적으로 활용하고 있다.

더 읽어볼 내용

CIELAB의 LCH 채도(Chrome) 및 Hue 계산

CIE LAB 데이터로 채도를 구하는 방법이다. 그 전에 구하고 싶은 채도를 얻으려면 LAB에서 A와 B 값이 있어 ...

작성자 kiio Jan 15, 2026

xyY 데이터 xyz 데이터로 변환하기

CIELAB 에서 D50 또는 D65 에서 화이트 포인트에 xyY 형식으로 저장된 케이스가 많다. xyz 계산이 ...

작성자 kiio Jan 9, 2026

두 직선의 교점 구하기 (외적)

수학 외적으로 두 직선의 교점을 구해보자. 게임 개발자에게는 필수 교양으로 알아두면 좋다. 두 직선이므로 포인트 x ...

작성자 kiio Jan 9, 2026

Javascript - 1억 계산 코드 개선하기

자바스크립트 코드 중 속도가 느려 불만을 일으키는 코드가 있다. norm(src, dest) { retur ...

작성자 kiio Dec 22, 2025
kiioio
  • Sign up

kiioio

ASD 소년의 학습 일지