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

강의

  • 리뷰
  • 회사 소개
시작
학습 시작
Start learning now
  • 진행 상황
  • 코스
  • 퀘스트 맵
  • 레슨
  • 상속의 개념, extends 구문

    JAVA 25 SELF
    레벨 17,레슨 0
    이 강의에서는 Java에서 상속이 무엇인지, 그것으로 코드 중복을 어떻게 피하는지, 그리고 키워드 extends로 계층을 선언하는 방법을 살펴봅니다. 하위 클래스가 정확히 무엇을 상속하는지, 어떤 제한이 있는지(단일 상속, private 멤버, 생성자), 동물 예제로 실습하며, 생성자와 관련된 미묘한 부분과 흔한 실수도 함께 정리합니다.
    사용 가능
  • 메서드 재정의(override), @Override 애너테이션

    JAVA 25 SELF
    레벨 17,레슨 1
    이번 강의에서는 Java에서의 메서드 재정의를 다룹니다: 하위 클래스가 왜, 어떻게 상위 클래스의 동작을 바꾸는지, @Override 애너테이션이 주는 이점, 기본 타입 참조를 통한 호출에서 폴리모피즘이 어떻게 동작하는지, 그리고 핵심 규칙(시그니처, 접근 제한자, 예외, 공변성)과 제약( static, final, private)을 살펴봅니다. 마지막에는 미니 프로젝트 “동물원”으로 실습하고 자주 하는 실수를 정리합니다.
    사용 가능
  • super 사용: 기본 클래스의 생성자와 메서드 호출

    JAVA 25 SELF
    레벨 17,레슨 2
    Java에서 키워드 super를 파헤칩니다: 기본 클래스의 메서드와 생성자를 호출하는 방법, 부모의 가려진 필드에 접근하는 방법, 언제 그리고 왜 super 및 super(...)로 동작을 확장하는지, 그리고 제약 사항(정적 메서드에서 사용할 수 없음, private에는 접근 불가)과 흔한 실수까지. Animal/ Cat/ Dog, Vehicle/ Car 계층 구조를 이용한 실습 예제가 많습니다.
    사용 가능
  • 클래스 계층 구조 만들기, 생활 속 예시

    JAVA 25 SELF
    레벨 17,레슨 3
    Java에서 클래스 계층 구조를 설계하고 구현하는 방법을 배웁니다: 공통과 개별을 구분하고, 상속 트리를 구성하며, 어디에 is-a 관계가 적절하고 언제 컴포지션( has-a)을 쓰는 것이 좋은지 알아봅니다. 실제 예시(동물, 기하, 교통수단, 사용자)를 통해 아키텍처의 미묘한 점과 설계 시 발생하기 쉬운 오류들을 살펴봅니다.
    사용 가능
  • 상속의 문제와 제약

    JAVA 25 SELF
    레벨 17,레슨 4
    이 강의에서는 Java의 상속 모델이 갖는 한계를 다룹니다: 클래스의 단일 상속, 생성자의 비상속, 그리고 private 멤버의 비가시성. ‘취약한’ 계층 구조와 ‘깨지는’ 상속의 효과를 살펴보고, 대안 — 합성( has-a), 위임, 인터페이스 — 그리고 “언제 정말로 extends가 필요한가”에 대한 기준을 제시합니다. 그 과정에서 super(...)를 통한 부모 생성자 호출과 전형적인 설계 실수도 짚어 봅니다.
    사용 가능
  • 다형성의 개념과 필요한 이유

    JAVA 25 SELF
    레벨 18,레슨 0
    이 강의에서는 Java의 다형성을 다룹니다: 그것이 무엇인지, overloading과 overriding의 차이, 지연 바인딩이 어떻게 동작하는지, 그리고 하나의 인터페이스가 왜 여러 구현을 가질 수 있는지. 실용적인 예제를 통해 다형성이 아키텍처를 단순화하고 코드를 확장 가능하게 만들며 모듈 간 결합도를 낮추는 방법을 살펴봅니다.
    사용 가능
  • 메서드 오버로딩 (overloading)

    JAVA 25 SELF
    레벨 18,레슨 1
    Java의 메서드 오버로딩을 깊이 있게 살펴봅니다: 동일한 메서드의 여러 버전을 언제 선언하는 것이 합리적인지, 컴파일러가 매개변수에 따라 최적의 일치를 어떻게 선택하는지, 반환 타입만으로는 오버로드할 수 없는 이유, 그리고 오버로드된 생성자와 ... varargs가 어떻게 동작하는지. println 예제를 분석하고, 간단한 Calculator를 만들어 본 뒤, 오토박싱과 Integer/ Long 사이의 모호성과 관련된 전형적인 오류들을 짚어봅니다.
    사용 가능
  • 메서드 오버라이딩(overriding): 오버로딩과의 차이

    JAVA 25 SELF
    레벨 18,레슨 2
    Java에서 메서드 오버라이딩을 자세히 살펴봅니다: overriding이 실행 시점(run-time)에 다형성을 어떻게 보장하는지, overloading과 무엇이 다른지, 어떤 규칙이 적용되는지(시그니처, 접근 제어, 예외, 공변성), @Override를 어떻게 사용하고 super로 부모의 로직을 호출하는지. 실용적인 예제를 보여 주고 흔한 실수도 정리합니다.
    사용 가능
  • 다형성의 실전 활용

    JAVA 25 SELF
    레벨 18,레슨 3
    실제 예제로 다형성을 보여 줍니다: 서로 다른 객체를 기본 타입의 하나의 컬렉션에 보관하고 if/ switch 없이 “올바른” 메서드를 호출하는 방법, 새로운 하위 클래스를 추가해도 로직을 다시 작성할 필요가 없다는 점, 그리고 이 접근의 한계. 직원 계층을 만들고 메서드 work()를 정의한 뒤, 확장성에 대해 이야기하고, 흔한 실수를 살펴봅니다.
    사용 가능
  • 다형성과 추상 클래스의 관계

    JAVA 25 SELF
    레벨 18,레슨 4
    추상 클래스와 메서드가 공통 계약을 형성하고 Java에서 다형성을 가능하게 하는 방식: 추상 객체를 만들 수 없는 이유, 하위 클래스가 필수 메서드를 어떻게 구현하는지, 상위 타입을 통해 작업하면서도 “올바른” 동작을 얻는 방법. 동물과 직원 계층 예시, 문법상의 뉘앙스, 흔한 실수를 함께 살펴봅니다.
    사용 가능
  • OOP에서의 추상화: 왜 필요하며 어떻게 적용할까

    JAVA 25 SELF
    레벨 19,레슨 0
    Java의 OOP에서 추상화를 이해하기 쉽게 소개합니다: 무엇인지, 왜 필요한지, 그리고 설계에 어떻게 적용하는지. 언어 도구 — 추상 클래스 abstract class와 인터페이스 interface, 추상 메서드, 그리고 공통 계약을 통한 작업(예: payment.process()나 draw() 같은 호출)을 살펴봅니다. 실습 예제( Shape, Payment, Transport)를 통해 구현 세부를 숨기고 결합도를 낮추며 시스템 확장을 쉽게 만드는 방법을 보여줍니다.
    사용 가능
  • 추상 클래스와 메서드: 문법, 예제

    JAVA 25 SELF
    레벨 19,레슨 1
    이 강의에서는 Java의 추상 클래스와 메서드를 단계적으로 살펴봅니다: 언제 abstract가 필요한지, 추상 class를 어떻게 선언하는지, interface와의 차이가 무엇인지, 그리고 하위 클래스에서 필수 메서드(예: makeSound())를 어떻게 구현하는지. 이론은 Animal, Transport, Shape 같은 예제로 뒷받침하고, 추상 클래스의 인스턴스를 생성하려는 시도부터 잘못된 한정자 사용까지 흔한 실수도 함께 다룹니다.
    사용 가능
  • 1
  • ...
  • 8
  • 9
  • 10
  • 11
  • 12
  • ...
  • 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