각진 세상에 둥근 춤을 추자
[Java] Class 클래스 본문
자바의 모든 클래스와 인터페이스는 컴파일 되고 나면 class 파일로 생성된다.
예를 들어 a.java 파일이 컴파일 되면 a.class 파일이 생성되고 이 class 파일에는 클래스나 인터페이스에 대한 변수, 메서드, 생성자 등의 정보가 들어 있다.
클래스의 정보를 사용할 경우 클래스가 정확히 어떤 자료형인지 알 필요가 있다.
Class 클래스를 선언하고 클래스 정보를 가져오는 방법은 다음과 같이 세 가지가 있다.
// 1. Object 클래스의 getClass( ) 메서드 사용하기
String s = new String();
class c = s.getClass();
// 2. 클래스 파일 이름을 Class 변수에 직접 대입하기
Class c = String.Class;
// 3. Class.forName("클래스이름")메서드 사용하기
Class c = Class.forName("java.lang.String");
예제를 통해 Class 클래스를 이해해 본다.
package ch11_4;
public class Person {
private String name;
private int age;
// 디폴트 생성자
public Person() {}
// 이름만 입력받는 생성자
public Person(String name) {
this.name = name;
}
// 이름과 나이를 입력받는 생성자
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package ch11_4;
public class ClassTest {
public static void main(String[] args) throws ClassNotFoundException {
Person person = new Person();
// 1. getClass
Class pClass1 = person.getClass();
System.out.println(pClass1.getName());
// 직접 class 파일 대입하기
Class pClass2 = Person.class;
System.out.println(pClass2.getName());
// 클래스 이름 가져오기
Class pClass3 = Class.forName("ch11_4.Person");
System.out.println(pClass3.getName());
}
}
'Java' 카테고리의 다른 글
[Java] 컬렉션 프레임워크 (0) | 2022.09.28 |
---|---|
[Java] 제네릭(Generic) (0) | 2022.09.28 |
[Java] 근의 공식 (0) | 2022.09.26 |
[Java] Wrapper 클래스 (0) | 2022.09.26 |
[Java] 문자 ↔︎ 아스키코드 (0) | 2022.09.24 |