자바에서 객체를 생성하는 방법들을 알고싶어요


같이 일하는 사람들이랑 얼마전에 객체 생성 방법에 대한 얘기를 나눴는데요. 대부분 생성자를 이용해 객체를 생성하는데 갑자기 다른 방법은 없을까하는 궁금증이 생겼습니다. 객체를 생성하는 방법들에는 뭐가 있나요?

  • 2016년 02월 23일에 작성됨

조회수 174


1 답변


좋아요
0
싫어요
채택취소하기

일단. new 키워드를 이용한 방법이 있습니다. 이게 가장 일반적인 방법인데요 거의 모든 객체는 이렇게 생성합니다. MyObject object = new MyObject();

두번째로 Class.forName()을 쓰는 방법인데요. 우리가 클래스의 이름을 알고 또 클래스에 public default 생성자가 정의되어있다면 이 방법으로 생성할수있습니다.

MyObject object = (MyObject) Class.forName("subin.rnd.MyObject").newInstance();

세번째로 clone()을 이용한 방법인데요. 이미 객체가 존재한다면 그걸 복사하면서 생성하는 방법입니다.

MyObject anotherObject = new MyObject();
MyObject object = (MyObject) anotherObject.clone();

네번째로는 object deserialization 방법인데요.

ObjectInputStream inStream = new ObjectInputStream(anInputStream );
MyObject object = (MyObject) inStream.readObject();

이런식으로 직렬화를 이용해 객체를 생성하는 방법입니다.

  • 2016년 02월 23일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close