innn

기본 API 클래스 - Class 클래스 본문

JAVA/자바

기본 API 클래스 - Class 클래스

33삼 2022. 9. 27. 17:00

Class 클래스

자바는 클래스와 인터페이스의 메타 데이터를 java.lang 패키지에 소속된 Class 클래스로 관리한다. 여기서 메타 데이터란 클래스의 이름, 생성자 정보, 필드 정보, 메소드 정보를 말한다. 

 

Class 객체 얻기(getClass(), forName())

프로그램에서 Class 객체를 얻기 위해서는 다음 세 가지 방법 중 하나를 이용하면 된다.

 

클래스로부터 얻는 방법

  1. Class clazz = 클래스.class
  2. Class clazz = Class.forName("패키지...클래스 이름")

객체로부터 얻는 방법

  1. Class clazz = 참조변수.getClass();

첫 번째와 두 번째 방법은 객체 없이 클래스 이름만 가지고 Class 객체를 얻는 방법이다. 세 번째 방법은 클래스로부터 객체가 이미 생성되어 있을 경우에 사용하는 방법이다. 예를 들어 String 클래스의 Class 객체는 다음과 같이 얻을 수 있다. 

 

다음은 세 가지 방법으로 Car 클래스의 Class 객체를 얻고, Class의 메소드를 이용해 클래스의 전체 이름과 간단한 이름 그리고 패키지 이름을 얻어 출력한다. 

 

Class 객체 정보 얻기

 

클래스 경로를 활용해서 리소스 절대 경로 얻기

Class 객체는 해당 클래스의 파일 경로 정보를 가지고 있기 때문에 이 경로를 활용해서 다른 리소스 파일(이미지, XML, Property 파일)의 경로를 얻을 수 있다. 이 방법은 UI 프로그램에서 많이 활용된다. 예를 들어 다음과 같이 Car 클래스가 위치하는 경로에 photo.jpg 파일이 있다고 가정해보자. 

 

프로그램 실행 중에 이미지 파일(photo1.jpg, photo2.jpg)의 절대 경로가 필요할 경우에 Car.class를 기준으로 한 상대 경로를 이용해서 절대 경로를 얻을 수 있다. 

 

 

리소스 절대 경로 얻기