CodeGym
AI Academy
프로모션
CodeGym University
학습
강좌
과제
설문 & 퀴즈
게임
도움말
일정
커뮤니티
사용자
포럼
채팅
아티클
성공 사례
활동
후기
구독
라이트 테마

강의

  • 리뷰
  • 회사 소개
시작
학습 시작
Start learning now
  • 진행 상황
  • 코스
  • 퀘스트 맵
  • 레슨
  • 직렬화 프로세스 제어: writeObject, readObject

    JAVA 25 SELF
    레벨 43,레슨 0
    표준 직렬화를 가로채고 프로세스를 직접 제어하는 방법: 엄격한 시그니처를 가진 프라이빗 메서드 writeObject/ readObject를 사용하고 ( private void writeObject( ObjectOutputStream out) throws IOException), defaultWriteObject()/ defaultReadObject()를 호출하며, transient로 필드를 제외하고, 체크섬과 로그를 추가하며, serialVersionUID와 버전 호환성도 잊지 않습니다. ObjectOutputStream/ ObjectInputStream 사용과 대표적인 오류, 실용적인 예제를 다룹니다.
    사용 가능
  • transient 필드, serialVersionUID

    JAVA 25 SELF
    레벨 43,레슨 1
    Java에서의 직렬화 실무 가이드: 필드를 스트림에서 제외하기 위해 transient를 언제 어떻게 사용할지, 역직렬화 시 무엇이 일어나는지(기본값), 메서드 readObject에서 상태를 어떻게 복원할지; serialVersionUID가 무엇이며, 이를 어떻게 선언하는지( private static final long serialVersionUID = 1L), 언제 변경해야 하는지와 왜 명시적으로 지정하는 편이 더 좋은지. 동작하는 예제, 위험한 시나리오, 그리고 흔한 실수를 함께 다룹니다.
    사용 가능
  • Externalizable: 직렬화를 세밀하게 제어하기

    JAVA 25 SELF
    레벨 43,레슨 2
    Java의 기본 직렬화를 확장합니다: 자동 직렬화인 Serializable만으로 부족할 때는 Externalizable 계약과 writeExternal/ readExternal 메서드가 도움이 됩니다. 이 강의에서는 데이터 포맷을 완전히 제어하는 방법, 파일 크기를 줄이고 하위 호환성을 유지하는 방법을 다루며, ObjectOutputStream/ ObjectInputStream 스트림과 비교하고, 예시, 장단점, 그리고 흔한 실수들(필수인 public 무인자 생성자, 기록/읽기 순서 등)을 보여줍니다.
    사용 가능
  • 직렬화 동작 조정: 커스텀 메서드

    JAVA 25 SELF
    레벨 43,레슨 3
    이 강의에서는 Java에서 writeReplace와 readResolve 메서드를 사용해 직렬화와 역직렬화 과정을 제어하는 방법을 다룹니다: 왜 객체를 프록시로 대체하는지, 싱글턴을 어떻게 보존하는지, 불변 객체를 어떻게 처리하는지, 그리고 이것이 writeObject/ readObject와 어떻게 맞물리는지. 단계별 실습, 흐름도와 함께 자주 발생하는 오류를 분석합니다.
    사용 가능
  • 직렬화 보안: 모범 사례

    JAVA 25 SELF
    레벨 43,레슨 4
    Java에서 안전한 직렬화를 위한 실전 가이드: 신뢰할 수 없는 소스의 역직렬화가 왜 위험한지, ObjectInputFilter, transient 키워드, 명시적인 serialVersionUID, instanceof를 통한 타입 검증, 그리고 대체 교환 포맷(JSON/Proto)을 통해 어떻게 방어하는지를 다룹니다. 내부에는 — 직관적인 코드 예제, 허용된 클래스 필터링, 그리고 전형적인 실수에 대한 해설이 포함되어 있습니다.
    사용 가능
학습
  • 등록
  • Java 과정
  • 과제 도움
  • 요금
  • Java 문법
커뮤니티
  • 사용자
  • 아티클
  • 포럼
  • 채팅
  • 성공 사례
  • 활동
  • 제휴 프로그램
회사
  • 회사 소개
  • 연락처
  • 후기
  • 보도자료실
  • CodeGym for EDU
  • FAQ
  • 지원
CodeGymCodeGym 은(는) 처음부터 Java 프로그래밍을 배우기 위한 온라인 코스입니다. 이 과정은 초보자가 Java를 마스터하기에 완벽한 방법입니다. 즉시 검증 기능이 포함된 1200개 이상의 과제와 Java 기초 이론의 필수 범위를 제공합니다. 학습 성공을 돕기 위해 퀴즈, 코딩 프로젝트, 효율적인 학습법 관련 콘텐츠, Java 개발자 경력 관련 자료 등 동기 부여 기능들을 구현했습니다.
팔로우하기
인터페이스 언어
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語
한국어
Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmers Are Made, Not Born" © 2026 CodeGym
MastercardVisa
"Programmers Are Made, Not Born" © 2026 CodeGym