Class 클래스

Codren·2021년 6월 3일
0
post-custom-banner

Section 1. Class 클래스

1. Class 클래스

컴파일 후 생성되는 .class 파일에 대한 작업을 수행하는 클래스

  • 자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일이 생성됨
  • Class 클래스는 .class 파일을 동적 로드하고, 정보를 가져오는 메서드를 제공




2. Class 파일 불러오기

  • Class.forName("클래스 이름") 메서드로 클래스를 동적으로 로드 함
Class c = Class.forName("java.lang.String");




3. Class 파일을 통해 인스턴스 생성

  • newInstance 메서드로 인스턴스 생성
  • new 키워드를 사용하지 않고 클래스 정보를 활용하여 인스턴스를 생성할 수 있음
Class c = Class.forName("java.lang.String");
String str1 = (String)c.newInstance();		# newInstance 메서드의 반환 타입은 Object 




4. reflect 클래스

  • Class 클래스를 사용하여 클래스의 정보 등을 추출하고 인스턴스를 생성하는 등의 작업을 수행함
  • 로컬에 원하는 클래스가 존재하지 않고 클래스의 타입 또한 모를 때 사용하는 클래스
  • getConstructor 메서드로 해당 클래스의 생성자들을 Constructor[] 타입 변수로 추출할 수 있음
Constructor[] c = c.getConstructor();

  • newInstacne 메서드로 인스턴스를 생성할 수 있음
Class[] parameterTypes = {Person.class};		
Constructor cons = c1.getConstructor(parameterTypes);	# 매개변수 타입이 String인 생성자 반환
	
Object[] initargs = {"김유신"};				# newInstance 메서드의 매개변수 타입은 Object[] 
Person personLee = (Person)cons.newInstance(initargs);	# Person 인스턴스 생성 
post-custom-banner

0개의 댓글