.getClass() 와 .class의 차이점
Language/JAVA 2013. 8. 29. 14:58두 방법에 의해서 반환되는
Class 인스턴스는 시점에 따라서 달라지는데
.class는 compile time에
결정되고
.getClass()는 rumtime에
결정된다.
간단한 예제 프로그램으로 차이점을 확인할 수
있다.
public class
ClassExample {
public
ClassExample()
{
printClass();
}
final public void
printClass()
{
System.out.println("ClasExample.class :
" + ClassExample.class);
System.out.println("Sub_ClassExmaple.class :
" + Sub_ClassExample.class);
System.out.println("this.getClass() : "
+ this.getClass());
}
public static void
main(String[] args) {
System.out.println("new
ClassExample()");
new
ClassExample();
System.out.println("\nnew
Sub_ClassExample()");
new
Sub_ClassExample();
}
}
public class
Sub_ClassExample extends
ClassExample {
}
----------- output
---------------------------
new
ClassExample()
ClasExample.class : class
test.ClassExample
Sub_ClassExmaple.class :
class test2.Sub_ClassExample
this.getClass() : class
test.ClassExample
new
Sub_ClassExample()
ClasExample.class : class
test.ClassExample
Sub_ClassExmaple.class :
class test2.Sub_ClassExample
this.getClass() : class
test2.Sub_ClassExample
출처 - http://javafreak.tistory.com/52
'Language > JAVA' 카테고리의 다른 글
Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. (0) | 2013.09.17 |
---|---|
JAXB: Marshalling and Unmarshalling CDATA block using EclipseLink MOXy (0) | 2013.09.03 |
Log4J 사용 가이드 (0) | 2013.08.29 |
log4j (0) | 2013.08.29 |
jUnit 으로 Private Method 테스트 만들기 (0) | 2013.08.28 |