티스토리 뷰

반응형
SMALL

오늘은 처음 알게 된 Transient Keyword에 대해 정리해보고자 한다.

# Serialization

직렬화 (Serialization)으로 검색해서 나온 정보들은 종합해 보면 대부분 같다.

직렬화란 오브젝트를 데이터스트림에 쓰기 위해 연속적인(serial) 바이트로 변환 하는것을 말한다.

 

Java에서 직렬화가 가능한 것

  1. 원시타입 객체
  2. Serializable 인터페이스를 implements 한 오브젝트
  3. Serializable 인터페이스를 implements 한 클래스나 인터페이스를 상속/구현 한 오브젝트

예를 들어서 주민번호(pNumber)와 이름(name)으로 구성된 Person 객체 있다고 가정하자.

name과 pNumber를 파일로 저장해도 되지만, 이를 객체 자체를 저장하고 싶다면 Serialization을 사용하여 객체를 데이터 스트림에 쓰기 위한 작업을 통해 가능하게 할 수 있다.

 

# Transient Keyword

Transient Keyword를 붙인 변수를 Serialization 대상에서 제외된다.

데이터를 Disk에 저장하거나 DB에 저장하거나 http request를 통해 보내거나 할때 민감데이터(개인정보 등)를 제외하고 싶으면 transient를 붙이면 되는 것이다.

 

사용 방법은 'transient' keyword를 변수 타입 앞에 붙여주면 된다.

public class User implements Serializable {

    private String username;
    private transient String password;

    public User(String username, String password){
        this.username = username;
        this.password = password;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }
}
반응형
LIST

'프로그래밍언어 > Java' 카테고리의 다른 글

스레드 우선순위  (0) 2019.06.17
정적 바인딩 vs. 동적 바인딩  (0) 2019.06.13
RxJava 시작  (0) 2019.04.20
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함