JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.io
인터페이스 Externalizable

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

public interface Externalizable
extends Serializable

Externalizable 인스턴스에서는 이 클래스의 식별 정보만이 직렬화 스트림에 기입해집니다. Externalizable 인스턴스의 내용은 이 클래스가 보존 및 저장합니다. 이 클래스는 Externalizable 인터페이스의 writeExternal 메소드와 readExternal 메소드를 구현해, 오브젝트와 그 슈퍼타입의 스트림의 형식과 내용을 모두 제어합니다. 이러한 메소드는 명시적으로 슈퍼타입과 제휴하면서, 오브젝트 상태를 보존할 필요가 있습니다. 이러한 메소드는 writeObject 메소드와 readObject 메소드의 커스터마이즈 된 구현보다 우선됩니다.
Serialization 오브젝트는 Serializable 인터페이스와 Externalizable 인터페이스를 사용합니다. 오브젝트 지속성의 기구도, 그러한 인터페이스를 사용할 수 있습니다. 저장되는 각 오브젝트는 Externalizable 인터페이스를 위해서(때문에) 테스트됩니다. 오브젝트가 Externalizable 를 서포트하는 경우, writeExternal 메소드가 불려 갑니다. 오브젝트가 Externalizable 인터페이스를 서포트하지 않고 Serializable 인터페이스를 구현하는 경우, 오브젝트는 ObjectOutputStream 를 사용해 보존됩니다.
Externalizable 오브젝트가 재구축 되면(자), 인수 없음의 public constructor를 사용해 인스턴스가 생성되어 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

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

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

readExternal

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

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

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

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

Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.