Java 배우기
무료로 즐기는 인터랙티브 온라인 Java 강의입니다. 모든 레슨에서 직접 Java 코드를 작성하며, 컴파일이 안 될 땐 AI 힌트가 도와주고, 끝까지 마치면 무료 수료증을 드립니다.
224,055+ 명의 codders가 등록함
- 초보자 환영
AI 코딩 도우미
실습 중심의 대화형 강의
모든 레슨에 음성 나레이션 제공
지식을 확인하는 퀴즈
무료 수료증
커리큘럼
섹션 1
기초
섹션 시작하기시작펼치기접기필수 개념과 기본 기술로 튼튼한 기초를 다지세요Introduction
4 개 강의324- 01Java챌린지
- 02Hello World!챌린지퀴즈오디오
- 03Comments퀴즈오디오
- 04Basic Program Structure챌린지퀴즈오디오
Variables Part 1
5 개 강의940- 01Numbers챌린지마스터리퀴즈오디오
- 02String챌린지마스터리퀴즈오디오
- 03Boolean챌린지마스터리퀴즈오디오
- 04char챌린지마스터리퀴즈오디오
- 05Type Declaration챌린지퀴즈오디오
Variables Part 2
5 개 강의333- 01Constants챌린지퀴즈오디오
- 02Naming Conventions퀴즈오디오
- 03Recap - Initialize Variables챌린지
- 04Type Casting Part 1챌린지퀴즈오디오
- 05Type Casting Part 2퀴즈오디오
Operators Part 1
7 개 강의956- 01Arithmetic Operators챌린지마스터리퀴즈오디오
- 02Modulo Operator챌린지마스터리퀴즈오디오
- 03Increment/Decrement챌린지마스터리퀴즈오디오
- 04Post Increment/Decrement마스터리퀴즈오디오
- 05Arithmetic Shortcuts챌린지퀴즈오디오
- 06Comparison Operators챌린지퀴즈오디오
- 07String Comparison퀴즈오디오
Operators Part 2
5 개 강의834- 01Logical Operators Part 1챌린지마스터리퀴즈오디오
- 02Logical Operators Part 2챌린지마스터리퀴즈오디오
- 03Recap - Simple Logic챌린지
- 04Logical Operators Part 3챌린지퀴즈오디오
- 05Logical Operators Part 4챌린지마스터리퀴즈오디오
Decision Making
6 개 강의1038- 01If Statement챌린지마스터리퀴즈오디오
- 02If - Else챌린지마스터리퀴즈오디오
- 03Switch Statement챌린지마스터리퀴즈오디오
- 04Ternary Operator챌린지마스터리퀴즈오디오
- 05Recap - If Else챌린지
- 06Nested If - Else챌린지퀴즈오디오
Basic IO
5 개 강의723- 01System.out Methods챌린지마스터리퀴즈오디오
- 02Formatting Output챌린지마스터리퀴즈오디오
- 03Scanner Class챌린지퀴즈오디오
- 04Recap - Till 120챌린지
- 05Recap - True or False챌린지
Calculator App
프로젝트4 개 강의1- 01Welcome Message챌린지
- 02Getting Numbers프로젝트
- 03Basic Operations프로젝트
- 04Formatted Output프로젝트
Loops
9 개 강의1362- 01For Loop Part 1챌린지마스터리퀴즈오디오
- 02While Loop챌린지마스터리퀴즈오디오
- 03Do While Loop챌린지마스터리퀴즈오디오
- 04Break챌린지마스터리퀴즈오디오
- 05Continue챌린지마스터리퀴즈오디오
- 06For Loop Part 2퀴즈오디오
- 07Nested Loop챌린지마스터리퀴즈오디오
- 08Infinite Loop퀴즈오디오
- 09Recap - Dynamic Input챌린지
Methods (Functions)
7 개 강의843- 01Declaring Methods챌린지마스터리퀴즈오디오
- 02Method Parameters챌린지퀴즈오디오
- 03Return Types챌린지퀴즈오디오
- 04Method Overloading마스터리퀴즈오디오
- 05Recap - Sigma Function챌린지
- 06Recap - Validation Function챌린지
- 07Void Methods챌린지퀴즈오디오
Arrays Basics
6 개 강의929- 01Declaring Arrays챌린지퀴즈오디오
- 02Accessing Elements챌린지퀴즈오디오
- 03Modifying Arrays챌린지마스터리퀴즈오디오
- 04Array Methods챌린지마스터리퀴즈오디오
- 05Recap - Product Array챌린지마스터리
- 06Recap - Reversed Array챌린지
Iterating Over Arrays
3 개 강의423- 01Using For Loop챌린지퀴즈오디오
- 02Enhanced For Loop챌린지퀴즈오디오
- 03Common Array Operations챌린지마스터리퀴즈오디오
String Operations
4 개 강의832- 01String Methods Part 1챌린지마스터리퀴즈오디오
- 02String Methods Part 2챌린지마스터리퀴즈오디오
- 03String Formatting챌린지마스터리퀴즈오디오
- 04String Comparison챌린지마스터리퀴즈오디오
Final Challenges
3 개 강의38- 01Number Pattern챌린지퀴즈오디오
- 02Pattern Finder챌린지
- 03Student Grade Calculator챌린지
섹션 2
논리와 흐름
섹션 시작하기시작펼치기접기데이터 구조와 흐름 제어에 초점을 맞춘 고급 Java 프로그래밍을 마스터하세요. 복잡한 배열, 컬렉션, 예외 처리, 시간 관리를 다루는 방법을 배워보세요.다차원 배열
9 개 강의1457- 012차원 배열 기초챌린지퀴즈
- 022차원 배열 요소 접근챌린지퀴즈
- 032차원 배열과 중첩 루프챌린지마스터리퀴즈
- 04복습 - 2차원 배열챌린지
- 05행렬 덧셈 & 뺄셈챌린지마스터리퀴즈
- 06가변 배열챌린지마스터리퀴즈
- 073차원 배열과 그 이상챌린지마스터리퀴즈
- 08일반적인 2차원 배열 패턴챌린지마스터리퀴즈
- 09복습 - 배열에 대한 모든 것챌린지
HashMap 1부
6 개 강의637- 01HashMap이란?퀴즈
- 02HashMap 선언하기챌린지퀴즈
- 03값 접근하기챌린지퀴즈
- 04키 존재 여부 확인하기챌린지마스터리퀴즈
- 05딕셔너리 수정하기챌린지퀴즈
- 06요약 - HashMap챌린지
HashMap 2부
6 개 강의1030- 01HashMap 메서드챌린지마스터리퀴즈
- 02keySet()으로 반복하기챌린지마스터리퀴즈
- 03entrySet()으로 반복하기챌린지마스터리퀴즈
- 04중첩 HashMap챌린지마스터리퀴즈
- 05복습 - 창고 관리챌린지
- 06복습 - HashMap 연산챌린지
HashSet 1부
7 개 강의844- 01HashSet이란?퀴즈
- 02요소 추가하기챌린지퀴즈
- 03요소 제거하기챌린지퀴즈
- 04요소 존재 확인하기챌린지마스터리퀴즈
- 05Empty와 Size챌린지마스터리퀴즈
- 06Clear와 Clone챌린지퀴즈
- 07요약 - HashSet챌린지
HashSet 2부
6 개 강의1146- 01수학 - HashSet의 합집합챌린지마스터리퀴즈
- 02수학 - HashSet의 교집합챌린지마스터리퀴즈
- 03수학 - 집합 차집합챌린지마스터리퀴즈
- 04수학 - 대칭 차집합챌린지퀴즈
- 05부분집합과 상집합챌린지마스터리퀴즈
- 06집합 순회챌린지마스터리퀴즈
고급 제어 흐름
5 개 강의929- 01라벨 문챌린지마스터리퀴즈
- 02스위치 표현식챌린지마스터리퀴즈
- 03패턴 매칭챌린지마스터리퀴즈
- 04가드 절챌린지마스터리퀴즈
- 05복습 - 제어 흐름챌린지
기본 오류 처리
4 개 강의630- 01Try-Catch 기본챌린지마스터리퀴즈
- 02Finally 블록챌린지퀴즈
- 03예외 던지기챌린지마스터리퀴즈
- 04사용자 정의 예외챌린지퀴즈
고급 문자열 처리
6 개 강의1145- 01StringBuilder 기초챌린지마스터리퀴즈
- 02StringBuffer 소개챌린지마스터리퀴즈
- 03정규 표현식 기초챌린지마스터리퀴즈
- 04정규식을 사용한 패턴 매칭챌린지마스터리퀴즈
- 05문자열 토크나이저챌린지마스터리퀴즈
- 06고급 문자열 서식 지정챌린지퀴즈
프로젝트 - 고유 단어 카운터
프로젝트4 개 강의123- 01텍스트 입력 및 저장챌린지
- 02단어 처리프로젝트퀴즈
- 03단어 세기프로젝트퀴즈
- 04고급 통계프로젝트퀴즈
날짜와 시간
6 개 강의646- 01LocalDate 기본챌린지퀴즈
- 02LocalTime 연산챌린지퀴즈
- 03LocalDateTime 사용법챌린지퀴즈
- 04Period와 Duration챌린지퀴즈
- 05날짜 서식 지정챌린지퀴즈
- 06시간대 처리챌린지퀴즈
섹션 3
객체 지향 프로그래밍
섹션 시작하기시작펼치기접기클래스, 객체, 재사용 가능한 구조로 코드를 구성하는 방법을 알아보세요OOP의 기초
9 개 강의971- 01외부 파일챌린지퀴즈
- 02OOP 입문챌린지퀴즈
- 03클래스 vs 객체챌린지퀴즈
- 04this 키워드챌린지퀴즈
- 05메서드챌린지퀴즈
- 06필드 (속성)챌린지퀴즈
- 07생성자 메서드챌린지퀴즈
- 08생성자 오버로딩챌린지퀴즈
- 09요약 - 간단한 계산기챌린지
접근 제어자와 캡슐화
5 개 강의536- 01접근 수준 개요챌린지퀴즈
- 02Getter와 Setter 메서드챌린지퀴즈
- 03정보 은닉챌린지퀴즈
- 04final 키워드챌린지퀴즈
- 05요약 - 은행 계좌 관리자챌린지
클래스 속성과 정적 멤버
5 개 강의533- 01인스턴스 변수 vs 정적 변수챌린지퀴즈
- 02정적 메서드챌린지퀴즈
- 03정적 블록챌린지퀴즈
- 04상수 (static final)챌린지퀴즈
- 05핵심 정리 - 카운터와 유틸리티챌린지
상속
8 개 강의862- 01상속의 기초 (extends)챌린지퀴즈
- 02super 키워드챌린지퀴즈
- 03메서드 오버라이딩 (@Override)챌린지퀴즈
- 04생성자 체이닝챌린지퀴즈
- 05Object 클래스챌린지퀴즈
- 06단일 및 다중 레벨 상속챌린지퀴즈
- 07다중 클래스 상속이 불가능한 이유챌린지퀴즈
- 08요약 - 직원 계층 구조챌린지
다형성
6 개 강의645- 01메서드 오버로딩 기초챌린지퀴즈
- 02메서드 오버라이딩 (런타임)챌린지퀴즈
- 03업캐스팅과 다운캐스팅챌린지퀴즈
- 04instanceof 연산자챌린지퀴즈
- 05추상 클래스와 메서드챌린지퀴즈
- 06요약 - 도형 계산기챌린지
인터페이스와 추상 클래스
7 개 강의754- 01인터페이스 소개챌린지퀴즈
- 02인터페이스 구현하기챌린지퀴즈
- 03다중 인터페이스 구현챌린지퀴즈
- 04인터페이스의 Default 및 Static 메서드챌린지퀴즈
- 05추상 클래스 vs 인터페이스챌린지퀴즈
- 06함수형 인터페이스챌린지퀴즈
- 07복습 - 결제 시스템챌린지
특별한 메서드와 Object 클래스
6 개 강의644- 01toString() 메서드챌린지퀴즈
- 02equals()와 hashCode()챌린지퀴즈
- 03clone() 메서드챌린지퀴즈
- 04compareTo()와 Comparable챌린지퀴즈
- 05Comparator 인터페이스챌린지퀴즈
- 06요약 - 커스텀 정렬챌린지
고급 OOP 개념
6 개 강의653- 01컴포지션 vs 상속챌린지퀴즈
- 02어그리게이션 vs 컴포지션챌린지퀴즈
- 03내부, 중첩 및 익명 클래스챌린지퀴즈
- 04Enum과 Enum 메서드챌린지퀴즈
- 05레코드 (Java 16+)챌린지퀴즈
- 06Sealed 클래스 (Java 17+)챌린지퀴즈
제네릭
6 개 강의644- 01제네릭 소개챌린지퀴즈
- 02제네릭 클래스챌린지퀴즈
- 03제네릭 메서드챌린지퀴즈
- 04제한된 타입 파라미터챌린지퀴즈
- 05와일드카드 (?, extends, super)챌린지퀴즈
- 06요약 - 제네릭 컨테이너챌린지
OOP에서의 예외 처리
5 개 강의536- 01예외 클래스 계층 구조챌린지퀴즈
- 02사용자 정의 예외챌린지퀴즈
- 03Checked vs Unchecked 에러챌린지퀴즈
- 04Try With Resources 패턴챌린지퀴즈
- 05요약 - 검증된 사용자챌린지
디자인 패턴 파트 1
6 개 강의654- 01디자인 패턴 소개챌린지퀴즈
- 02싱글톤 패턴챌린지퀴즈
- 03팩토리 패턴챌린지퀴즈
- 04빌더 패턴챌린지퀴즈
- 05옵저버 패턴챌린지퀴즈
- 06전략 패턴챌린지퀴즈
디자인 패턴 Part 2
7 개 강의763- 01커맨드 패턴챌린지퀴즈
- 02어댑터 패턴챌린지퀴즈
- 03데코레이터 패턴챌린지퀴즈
- 04템플릿 메서드 패턴챌린지퀴즈
- 05상태 패턴챌린지퀴즈
- 06컴포지트 패턴챌린지퀴즈
- 07이터레이터 패턴챌린지퀴즈
프로젝트: 도서 관리 시스템
프로젝트7 개 강의1- 01프로젝트 개요 및 UML 설계챌린지
- 02도서 및 사용자 클래스프로젝트
- 03대출 시스템프로젝트
- 04검색 기능프로젝트
- 05관리자 인터페이스프로젝트
- 06예외 처리 통합프로젝트
- 07테스트 및 통합프로젝트
최종 챌린지
4 개 강의437- 01E-러닝 플랫폼챌린지퀴즈
- 02뱅킹 시스템챌린지퀴즈
- 03게임 캐릭터 개발챌린지퀴즈
- 04차량 대여 서비스챌린지퀴즈
Java 코스
브라우저에서 무료로 시작하는 실습형 Java 코스.
입문자 챌린지 - 기초 개념 연습하기
인기여러분의 기초 코딩 지식을 테스트하고 프로그래밍 챌린지들을 해결해 보세요. 원하는 어떤 언어든 사용할 수 있습니다. 즐거운 코딩 되세요!
수료 시 인증서
- 20
- 20
코딩 문제
인기이 코스에서 제공하는 다양한 난이도의 연습 문제를 통해 여러분의 프로그래밍 문제 해결 능력을 시험해 보세요. 프로그래밍 언어의 기초 문법을 어느 정도 알고 있는 개발자를 위해 설계되었습니다.
수료 시 인증서
- 32
- 31
코딩 문제: 2편
이 코스에서 제공하는 다양한 난이도의 연습 문제를 통해 여러분의 프로그래밍 문제 해결 능력을 테스트해 보세요. 어떤 프로그래밍 언어든 기초 문법에 대한 사전 지식이 있는 분들을 위해 설계되었습니다. 이 코스는 '코딩 문제 1편'의 연장선상에 있습니다.
수료 시 인증서
- 25
- 24
스택 - 자료구조 시리즈 #1
이 코스에서는 스택 자료구조에 대해 배우고, 원하는 언어로 스택을 처음부터 직접 구현해 보며 다양한 코딩 챌린지를 연습합니다!
- 13
- 6
- 1
힙 & 우선순위 큐 - 자료구조 시리즈 #7
신규이 코스에서는 우선순위 큐의 핵심인 Heap 자료구조에 대해 배우고, 선호하는 언어로 MinHeap을 처음부터 직접 구현하며 다양한 코딩 챌린지를 연습합니다!
수료 시 인증서
- 14
- 6
- 1
별 찍기 부트캠프
프로그래밍 문제 해결 능력을 발휘하여 기초부터 복잡한 수준까지 다양한 별 패턴을 출력하는 방법을 배워보세요. 다양한 수준의 중첩 반복문, 조건문, 그리고 수학적 계산을 활용하는 법을 익힐 수 있습니다.
- 30
- 28
Coddy에서 Java을 배우는 이유
- 브라우저에서 진짜 Java 코드를 작성하고 실행하세요. JDK 설치도, IDE 설정도 필요 없습니다. 에디터가 서버에서 Java 프로그램을 컴파일하고 실행한 뒤 결과를 바로 보여줍니다.
- 실무에서 쓰이는 방식 그대로의 객체지향 Java: 클래스, 상속, 인터페이스, 다형성, 제네릭, 예외 처리. 모든 개념마다 직접 코드를 작성하는 실습 과제가 따라옵니다.
- AI 힌트가 Java 에러, 특히 길고 복잡한 stack trace를 읽고 고치는 데 도움을 줘서 첫날부터 언어가 덜 부담스럽게 느껴집니다.
- 과정을 마치면 무료 Java 수료증을 받습니다. Java 실력이 중요한 backend, Android, 엔터프라이즈 직군에서 신뢰할 만한 증빙이 됩니다.