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

조회수 3561회

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

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();
    

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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)