티스토리 뷰
Java에서 인스턴스(객체)를 만드는 다양항 방법
Java에서는 다음과 같이 인스턴스(객체)를 만드는 방법이 있다.
new
일반적으로 인스턴스는 Java의 예약어 new를 사용해서 만든다. 다음과 같이 하면 Something 클래스의 인스턴스를 만들고 변수 obj에 대입할 수 있다.
--> obj라는 이름을 가지는 Something 클래스 타입의 객체를 가진다 라고 말할 수 있겠다.
- Something obj = new Something();
이 경우 클래스 이름(여기에서는 Something)을 소스 안에 기술할 필요가 있다.
clone
Prototype 패턴에서 등장했던 clone 메소드를 사용하면 이미 존재하는 인스턴스를 기초로 새로운 인스턴스를 만들 수 있다. 다음과 같이 하면 자신(this)을 기초로 새로운 인스턴스(객체)를 만들 수 있다(단, 생성자는 호출되지 않는다).
java.lang
|
- class Something {
...
public Something createClone() {
Something obj = null;
try {
obj = (Something)clone();
} catch ( CloneNotSupportedException e ) {
e.printStackTrace();
}
return obj;
}
}
newinstance
java.lang.Class 클래스의 newInstance 메소드를 사용하면 Class의 인스턴스(객체)를 기초로 그 Class가 표시하고 있는 클래스의 인스턴스(객체)를 만들 수 있다(인수 없는 생성자가 호출된다).
newInstancepublic T newInstance()
|
다음은 newInstance의 예입니다. Something 클래스의 인스턴스 someobj가 있다면 다음 식에서 Something 클래스의 인스턴스를 새롭게 만들 수 있다.
- someobj.getClass().newInstance();
실제로 newInstance 메소드는 InstantiationException이나 IllegalAccessException을 예외로 제공하기 때문에 try{ } catch() {}로 묶든지 메소드에 throws을 선언해야 한다.
'자바 > JAVA 입문' 카테고리의 다른 글
StringTokenizer // HashMap // HashTable (0) | 2011.11.10 |
---|---|
java split // 문자열 자르기 (0) | 2011.10.11 |
Jad를 이용한 Class파일 java로 만들기 (0) | 2011.10.11 |
자바 사용자에게 입력받아 파일 입출력 (0) | 2011.10.11 |
자바 Enumeration 인터페이스 정말 궁금합니다... (0) | 2011.10.11 |
- Total
- Today
- Yesterday
- 펌방지해제
- marry you 프로포즈
- 문자열자르기
- sax vs dom
- java파일삭제
- 스크린세이버
- Split
- 갈릴레오 svn
- eclipse svn
- dom vs sax
- java 인스턴스
- 불독맨션 좋아요
- Marry You
- eclipse 단축키
- 타루 예뻐할께
- 자바 객체
- 이클립스 단축키
- MySQL
- Mysql명령어
- 자바정의
- bruno mars marry you
- lol 서포터
- 체크박스
- java파일복사
- jason maraz
- java 객체
- This Android SDK requires An...e ADT to the latest version
- 자바스크립트강의
- jason marz im yours
- javascript강의
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |