본문 바로가기
Java

Java transient란? transient 키워드, serialize 제외

by parkjp 2023. 8. 21.

 

Transient란?

 java transient란 자바 프로그래밍 언어에서 사용되는 예약어 중 하나입니다. 이 예약어는 변수나 필드를 특정 상황에서 일

시적으로 직렬화 대상에서 제외시키는 데 사용됩니다. 직렬화는 객체를 저장하거나 전송하기 위해 객체의 상태를 이진 형

식으로 변환하는 과정을 의미합니다.

 

 

transient 예약어를 변수나 필드 앞에 붙이면, 그 변수나 필드의 값은 객체를 직렬화할 때 저장되지 않습니다. 즉, 해당 필드의 값은 일시적으로 저장되지 않고 불러올 때 별도의 처리가 필요합니다.

 

이를 간단한 코드 예제를 통해 설명해보겠습니다

 

Transient 사용법

 

class Student implements Serializable {
    // 직렬화 대상 필드
    private String name;
    
    // 일시적으로 직렬화에서 제외되는 필드
    private transient int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // getter 및 setter 메서드 생략
}

 

 위의 코드에서 age 필드는 transient 예약어로 표시되어 있으므로, 객체가 직렬화될 때 해당 필드의 값은 저장되지 않습니다. 객체를 역직렬화할 때 age 필드의 값은 기본값으로 초기화됩니다.

 

요약하면, "transient"는 자바에서 직렬화할 때 특정 필드의 저장을 제어하는 데 사용되는 예약어입니다.

반응형