Java Transient
๋ค์ด๊ฐ๋ฉฐ
transient
ํค์๋๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ Serialize์ ๋ํ ์ดํด๊ฐ ํ์ํฉ๋๋ค.
- Java Serialize
Java Transient์ด๋?
transient
๋ Serializeํ๋ ๊ณผ์ ์ ์ ์ธํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์ ์ธํ๋ ํค์๋์
๋๋ค.
์(Why) ํ์ํ ๊น์?
- ํจ์ค์๋์ ๊ฐ์ ๋ณด์์ ๋ณด๊ฐ ์ง๋ ฌํ(Serialize) ๊ณผ์ ์์ ์ ์ธํ๊ณ ์ถ์ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค.
- ๋ค์ํ ์ด์ ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ก์ ํ๊ณ ์ถ์ง ์์ ๋ ์ ์ธํ ์ ์์ต๋๋ค.
Example
Model
class Member implements Serializable {
private String name;
private String email;
private int age;
public Member(String name, String email, int age) {
this.name = name;
this.email = email;
this.age = age;
}
@Override
public String toString() {
return String.format("Member{name='%s', email='%s', age='%s'}", name, email, age);
}
}
Main
public static void main(String[] args) throws IOException, ClassNotFoundException {
Member member = new Member("๊น๋ฐฐ๋ฏผ", "deliverykim@baemin.com", 25); // Model ๊ฐ์ฒด
String serialData = serializeTest(member); // ์ง๋ ฌํ
deSerializeTest(serialData); // ์ญ์ง๋ ฌํ
}
Result
- ์๋์ ์ด๋ฏธ์ง ์ฒ๋ผ ์ง๋ ฌํ๊ฐ ์ ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.

์ด๋ฆ์ Transient Keyword๋ฅผ ์ถ๊ฐํ๋ฉด ์ด๋จ๊น์?

- ๊ฒฐ๊ณผ๋ฅผ ํ์ธํด ๋ณด๋ field๋ ์ ์ง๋์ง๋ง null๊ฐ์ด ๋์
๋๋ ๊ฒ์ ํ์ธํ ์ ์์์ต๋๋ค.

์ฃผ์ํด์ผํ ์ ์ ์์๊น์?
- ์ ์ฉํ๋ Data์ ๋ํด ์ดํด๊ฐ ํ์ํฉ๋๋ค.
- ์ค์ ๋ก ํ์๊ฐ ์๋์ง์ ๋ํ ๊ณ ๋ ค.
- Data๋ฅผ ์ ์ธํ์์ ๊ฒฝ์ฐ์ ์๋น์ค ์ฅ์ ์ ์ด์์ด ์๋์ง์ ๋ํ ๊ณ ๋ ค.
Reference