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

더 읽어볼 내용

git clone 대용량 데이터 가져오기

파일 파일이 용량이 큰 경우 git-lfs 사용하여 데이터를 가져올 수 있는데, 로그 상 너무 큰 데이터가 많고, ...

작성자 kiio Mar 17, 2026

Github 팀프로젝트로 조직 만들기

팀 조직으로 여러 레포지토리가 있다면 별도의 팀 프로젝트로 생성할 필요가 있다. 우측 상단의 자기 아이콘을 클 ...

작성자 kiio Mar 17, 2026

시나리오 구성4

lock-1 작성자 kiio Mar 13, 2026

프롬프트 팁 - 코드 강제 수정 요청하기

Claude에서 코드 수정 요청을 하였는데, 이전 코드를 도돌이표처럼 작성하는 현상이 있다. 그럴 때는 " ...

작성자 kiio Feb 20, 2026
kiioio
  • Sign up

kiioio

ASD 소년의 학습 일지