인프런 커뮤니티 질문&답변

최강현님의 프로필 이미지
최강현

작성한 질문수

김영한의 실전 자바 - 중급 1편

Class 클래스

Class 클래스 강의 질문

해결된 질문

작성

·

212

0

 

class 클래스 강의에서 나온 클래스 생성 할때 쓰는

.getDeclared constructer().newInstance() 와

new 키워드로 객체인스턴스 생성하는게 어떤 차이점이 있나요 ?

 

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 최강현님

같은 객체 인스턴스가 생성됩니다. 🙂

일반적으로 new를 사용해서 인스턴스를 생성하는 것이 맞습니다.

다만 아주 특수한 상황에 Class 클래스를 사용하면 다음과 같이 문자열을 받아서 동적으로 클래스를 만들 수 있습니다. 예를 들면 사용자의 문자열을 입력 받아서 해당 문자열을 기반으로 인스턴스를 만들 수 있는 것이지요.

Class helloClass = Class.forName("lang.clazz.Hello");
Hello hello = (Hello) helloClass.getDeclaredConstructor().newInstance();

이런 경우가 일반적이지는 않기 때문에 이런 기능이 있다는 정도만 이해하셔도 괜찮습니다.

감사합니다.

최강현님의 프로필 이미지
최강현

작성한 질문수

질문하기