JavaTM Platform
Standard Ed. 6

java.io
인터페이스 Externalizable

모든 슈퍼 인터페이스:
Serializable
기존의 서브 인터페이스의 일람:
RemoteRef , ServerRef
기존의 구현 클래스의 일람:
ActivationDataFlavor , DataFlavor , MimeType , MLet , PrivateMLet


public interface Externalizable
extends Serializable

Externalizable 인스턴스의 클래스의 아이덴티티가 직렬화 스트림에 기입해지는 것만으로, 그 인스턴스의 내용을 보존 및 포함하는 것은 클래스의 책임입니다. 클래스는, Externalizable 인터페이스의 writeExternal 메소드와 readExternal 메소드를 구현하는 것에 의해, 객체와 그 슈퍼타입의 스트림의 형식과 내용을 충분히 제어할 수 있게 됩니다. 이러한 메소드는 명시적으로 슈퍼타입과 제휴해, 그 상태를 보존하지 않으면 안됩니다. 이러한 메소드는, writeObject 메소드와 readObject 메소드의 커스터마이즈 된 구현보다 우선됩니다.
Serialization 객체는, Serializable 인터페이스와 Externalizable 인터페이스를 사용합니다. 객체 지속성의 기구도, 그러한 인터페이스를 사용할 수 있습니다. 포함되는 각 객체는, Externalizable 인터페이스를 위해서(때문에) 테스트됩니다. 객체가 Externalizable 를 지원하는 경우, writeExternal 메소드가 불려 갑니다. 객체가 Externalizable 인터페이스를 지원하지 않고, Serializable 인터페이스를 구현하는 경우, 객체는 ObjectOutputStream 를 사용해 보존됩니다.
Externalizable 객체가 재구축 되면(자), 인수 없음의 public 생성자 을 사용해 인스턴스가 생성되어 readExternal 메소드가 불려 갑니다. 직렬화 가능 객체를 복원하려면 , ObjectInputStream 로부터 읽어들입니다.
Externalizable 의 인스턴스는, 직렬화 가능 인터페이스에 기재되어 있는 writeReplace 메소드와 readResolve 메소드에 의해 대체 객체를 지정할 수 있습니다.

도입된 버젼:
JDK1. 1
관련 항목:
ObjectOutputStream , ObjectInputStream , ObjectOutput , ObjectInput , Serializable

메소드의 개요
 void readExternal (ObjectInput  in)
          객체가 구현하고 있는 readExternal 메소드는, DataInput 인터페이스의 메소드 (원시형의 경우) 및 ObjectInput 인터페이스의 readObject 메소드 (객체, 캐릭터 라인, 배열의 경우)를 호출하는 것으로, 객체의 내용을 복원합니다.
 void writeExternal (ObjectOutput  out)
          객체가 구현하고 있는 writeExternal 메소드는, DataOutput 인터페이스의 메소드 (원시형의 경우) 및 ObjectOutput 인터페이스의 writeObject 메소드 (객체, 캐릭터 라인, 배열의 경우)를 호출해, 객체의 내용을 보존합니다.
 

메소드의 상세

writeExternal

void writeExternal(ObjectOutput  out)
                   throws IOException 
객체가 구현하고 있는 writeExternal 메소드는, DataOutput 인터페이스의 메소드 (원시형의 경우) 및 ObjectOutput 인터페이스의 writeObject 메소드 (객체, 캐릭터 라인, 배열의 경우)를 호출해, 객체의 내용을 보존합니다.

파라미터:
out - 객체를 기입하는 스트림
예외:
IOException - 발생할 가능성이 있는 모든 입출력 예외

readExternal

void readExternal(ObjectInput  in)
                  throws IOException ,
                         ClassNotFoundException 
객체가 구현하고 있는 readExternal 메소드는, DataInput 인터페이스의 메소드 (원시형의 경우) 및 ObjectInput 인터페이스의 readObject 메소드 (객체, 캐릭터 라인, 배열의 경우)를 호출하는 것으로, 객체의 내용을 복원합니다. readExternal 메소드는, writeExternal 메소드로 기입했을 때와 같은 순서, 같은 형태에 의해 값을 읽어들이지 않으면 안됩니다.

파라미터:
in - 객체를 복원하기 위한 데이터 읽기원의 스트림
예외:
IOException - 입출력 에러가 발생했을 경우
ClassNotFoundException - 복원하려 하고 있는 객체에 대응하는 클래스가 발견되지 않는 경우

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.