1. new
일반적인 방법.
something obj = new something ();
이 경우 클래스 이름(something)을 소스 안에 기술해야 함
2. clone
이미 존재하는 인스턴스를 기초로 새로운 인스턴스를 만들 수 있다.
다음과 같이 하면 자신(this)를 기초로 새로운 인스턴스를 만들 수 있다.( 생성자 호출 nonono)
class sth{
.
.
.
public sth createClone(){
sth obj = null ;
try{
obj = (sth)clone () ;
}catch( CloneNotSupportedException e){
}
return obj ;
}
}//end class
3. newinstance
sth 클래스의 인스턴스 obj 가 있다면 다음 식에서 sth 클래스의 인스턴스를 새롭게 만들 수 있다.
obj.getClass().newInstance()
실제로 newInstance 메소드는 InstantiationException 이나 IllegalAccessException을 예외로 제공하므로 try/catch나 throws를 선언해야 한다.
댓글 없음:
댓글 쓰기