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

강의

  • 리뷰
  • 회사 소개
시작
학습 시작
Start learning now
  • 진행 상황
  • 코스
  • 퀘스트 맵
  • 레슨
  • 표준 라이브러리의 인터페이스: Comparable, Serializable 등

    JAVA 25 SELF
    레벨 21,레슨 4
    Java 표준 라이브러리의 핵심 인터페이스와 그것이 실제 프로젝트에서 필요한 이유를 살펴봅니다: Comparable<T>를 통한 자연 정렬과 Comparator<T>로 정의하는 사용자 규칙, Serializable로 객체 직렬화, AutoCloseable을 통한 안전한 자원 관리, Iterable<T> 덕분에 가능한 컬렉션 순회, 그리고 마커 인터페이스 Cloneable 및 이벤트 리스너까지. 풍부한 예제를 통해 올바른 메서드 시그니처( compareTo, compare, close, iterator)와 피해야 할 전형적인 실수를 확인합니다.
    사용 가능
  • Record: 문법, 장점

    JAVA 25 SELF
    레벨 22,레슨 0
    Java 16+의 record 클래스를 파헤칩니다: 어떻게 선언하는지, 컴파일러가 내부적으로 무엇을 생성하는지, 왜 일반 DTO와 value 객체보다 더 편리한지, 그리고 언제 적용해야 하는지. 보일러플레이트 코드는 줄이고 안전성은 높입니다: 불변성, 올바른 equals/hashCode/toString, 그리고 컬렉션에서의 편리한 사용.
    사용 가능
  • Immutability — record 클래스의 불변성

    JAVA 25 SELF
    레벨 22,레슨 1
    Java record 클래스의 불변성(immutability)을 깊이 파헤칩니다: 객체가 생성된 이후 상태를 바꿀 수 없는 이유, 이것이 멀티스레드 환경과 컬렉션 작업에서 주는 이점, record가 일반 클래스와 어떻게 다른지, 그리고 배열과 컬렉션을 통해 발생하는 "변경 가능성 누수"를 올바르게 막는 방법. 또한 mutable 클래스와의 동작을 비교하고, 실전 예제와 흔한 실수를 함께 살펴봅니다.
    사용 가능
  • equals, hashCode, toString: 자동 생성

    JAVA 25 SELF
    레벨 22,레슨 2
    객체에 왜 equals, hashCode, toString 메서드가 필요한지, 일반 클래스에서 이를 수동으로 구현하면 왜 보일러플레이트가 많고 오류를 유발하기 쉬운지, 그리고 record 클래스가 어떻게 올바른 버전을 자동으로 생성하는지 설명합니다. 컬렉션과 디버깅에 미치는 영향, 표준 동작을 언제·어떻게 재정의하는 것이 적절한지, 그리고 가장 자주 발생하는 실수는 무엇인지 살펴봅니다.
    사용 가능
  • 메서드가 있는 Record

    JAVA 25 SELF
    레벨 22,레슨 3
    record 클래스에 메서드를 추가하고, 데이터의 검증과 정규화를 위해 컴팩트 생성자를 사용하는 법, record의 제약, 인터페이스 구현, 실용적인 팁을 학습합니다. 마지막에는 “가능/불가” 표와 흔한 오류 분석이 있습니다.
    사용 가능
  • record와 class의 차이점, record의 제한 사항

    JAVA 25 SELF
    레벨 22,레슨 4
    Java에서 일반 클래스와 record 클래스의 핵심 차이점: 불변성, 상속, equals/hashCode/toString 자동 생성, 생성자, 그리고 사용 범위. record의 제한 사항과 최대 효용을 발휘하는 곳(DTO, Value Object, 컬렉션 키 등), 일반 class가 더 적합한 경우, 자주 발생하는 실수를 살펴봅니다.
    사용 가능
  • 클래스와 객체 선언 시 발생하는 오류

    JAVA 25 SELF
    레벨 23,레슨 0
    Java를 시작할 때 자주 하는 실수: 클래스의 접근 제한자, 파일 이름과 public 클래스 이름 일치, 중괄호와 클래스 멤버 배치, 객체 초기화, 생성자, 불필요한 인스턴스 생성 등. 베스트 프랙티스를 살펴보고 미니 예제 "라이브러리"를 만들어 본 뒤, 마지막에 흔한 오류 메시지를 분석합니다.
    사용 가능
  • 상속과 메서드 오버로딩에서 흔한 오류

    JAVA 25 SELF
    레벨 23,레슨 1
    Java에서 상속과 메서드 오버로딩을 다룰 때 자주 발생하는 실수를 정리합니다: super(...)를 통한 기본(베이스) 클래스 생성자 호출, final 클래스와 final 메서드의 제약, 리스코프 치환 원칙 위반, 오버로딩의 함정(자동 형 변환, 모호한 호출, 반환 타입만으로 구분하려는 시도), 그리고 베스트 프랙티스와 다형성 실전 예제.
    사용 가능
  • 접근 제어자 오류

    JAVA 25 SELF
    레벨 23,레슨 2
    Java의 접근 수준을 단계별로 살펴보고 흔한 실수들을 정리합니다: 누락된 접근 제어자, 캡슐화 위반, 패키지 밖에서의 protected 특성, getter/setter의 올바른 사용, 컬렉션의 복사 반환. 실습 예제로 모범 사례를 정리합니다.
    사용 가능
  • 다형성과 추상화의 문제들

    JAVA 25 SELF
    레벨 23,레슨 3
    Java에서의 다형성과 추상화를 실전 관점에서 살펴봅니다: 하나의 인터페이스가 어떻게 서로 다른 동작을 이끌어내는지, 자주 발생하는 실수들(검증 없는 downcasting, 기본 타입에 없는 메서드 호출, “빈” 추상화, 깊은 계층), 그리고 교육용 예제 “도서관”에서 추상 클래스, 인터페이스, @Override 애너테이션을 활용하는 모범 사례를 정리합니다.
    사용 가능
  • 코드 스타일과 가독성, 코드 컨벤션

    JAVA 25 SELF
    레벨 23,레슨 4
    왜 Java‑개발자에게 통일된 코드 스타일이 필요한지, 그리고 이를 어떻게 지킬 것인지: 대표적인 포매팅 실수와 기본 컨벤션(들여쓰기, 네이밍, 클래스 멤버 순서)을 정리하고, 리팩터링 예시와 자동 포매팅 및 정적 분석 도구를 소개하여 코드를 읽기 쉽고 유지보수 가능하게 만드는 방법을 다룹니다.
    사용 가능
  • Java의 예외 계층 구조

    JAVA 25 SELF
    레벨 24,레슨 0
    이 강의에서는 Java 예외 시스템의 기초를 다룹니다: 루트 클래스 Throwable, Exception과 Error의 차이, 그리고 체크 예외와 언체크 예외의 구분. try- catch 및 throws가 포함된 코드 예제, 무엇을 잡고 무엇은 잡지 말아야 하는지, 예외 처리에서 흔히 발생하는 실수도 살펴봅니다.
    사용 가능
  • 1
  • ...
  • 10
  • 11
  • 12
  • 13
  • 14
  • ...
  • 30
학습
  • 등록
  • 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