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

강의

  • 리뷰
  • 회사 소개
시작
학습 시작
Start learning now
  • 진행 상황
  • 코스
  • 퀘스트 맵
  • 레슨
  • 추상화와 계층 구조 구현

    JAVA 25 SELF
    레벨 19,레슨 2
    Java에서 클래스 계층을 구성하는 실무 가이드: 추상화에서 구체로. 도형, 미니 편집기, 결제, 교통 수단 예제로 공통점을 기본 abstract-클래스에 올리고, area()/ draw() 같은 메서드를 재정의하며, 기존 코드를 고치지 않고 시스템을 확장하고 중복을 피하는 방법을 보여줍니다. 마지막으로 흔한 실수와 설계 팁을 정리합니다.
    사용 가능
  • 실제 과제에서 추상화를 설계하는 예제

    JAVA 25 SELF
    레벨 19,레슨 3
    실제 시나리오에 추상화를 적용해 봅니다: 결제, 운송, 그래픽 에디터. 공통 동작을 기본 abstract 클래스에 추출하고, 공통 계약을 통해 작업하며, 분기문이 많은 코드를 if- else 대신 다형성으로 바꾸는 방법을 보여줍니다. 그 과정에서 process(), move(), draw()/ resize() 같은 메서드를 일관되게 호출해 코드의 유연성과 확장성을 확보하는 방법을 확인합니다.
    사용 가능
  • 추상화를 통한 복잡한 시스템 단순화

    JAVA 25 SELF
    레벨 19,레슨 4
    복잡한 애플리케이션을 추상화 계층(UI, 비즈니스 로직, 데이터 액세스)으로 나누어 코드가 이해하기 쉽고 확장 가능하도록 만드는 방법. 실습으로 미니 task‑manager를 Task, TaskRepository, TaskService 계층으로 구축하고, 구현 교체 방법과 팀에 주는 이점을 보여 줍니다. 베스트 프랙티스, 흔한 실수, 그리고 OrderService/ OrderRepository 서비스와 saveOrder() 및 findUserById() 같은 메서드 예시를 살펴봅니다.
    사용 가능
  • 인터페이스의 개념과 선언 문법

    JAVA 25 SELF
    레벨 20,레슨 0
    이 강의에서는 Java에서 인터페이스가 무엇인지, 키워드 interface로 어떻게 선언하는지, 클래스가 implements를 통해 어떻게 계약을 구현하는지, 그리고 기본적으로 메서드가 왜 public abstract로 간주되는지 배웁니다. 인터페이스와 클래스의 차이, JDK의 예시들( Comparable, Runnable, Serializable), 시각적 다이어그램, 그리고 흔한 실수도 함께 살펴봅니다.
    사용 가능
  • 인터페이스와 추상 클래스의 차이

    JAVA 25 SELF
    레벨 20,레슨 1
    이 강의에서는 Java에서 인터페이스와 추상 클래스를 비교합니다: 언제 무엇을 선택해야 하는지, 기능과 제약이 어떻게 다른지, 각 시그니처( abstract class와 interface)가 어떻게 생겼는지, public, abstract, static 같은 한정자가 무엇을 의미하는지, 그리고 JDK의 예시, 실무 사례, 흔한 오류(상속, 구현, implements/ extends 사용)도 함께 살펴봅니다.
    사용 가능
  • 인터페이스 다중 구현

    JAVA 25 SELF
    레벨 20,레슨 2
    이 강의에서는 하나의 Java 클래스가 여러 인터페이스를 동시에 구현하는 방법을 다룹니다: 키워드 implements를 사용하는 문법, 역할의 결합(예: Movable, Attackable, Serializable), 메서드 시그니처의 일치, “다이아몬드 문제”가 없다는 점, 그리고 default 메서드 충돌 시 어떻게 처리할지. 실용적인 예제와 흔한 실수에 대한 분석을 제공합니다.
    사용 가능
  • 함수형 인터페이스: @FunctionalInterface

    JAVA 25 SELF
    레벨 20,레슨 3
    이 강의에서는 함수형 인터페이스가 무엇인지(추상 메서드가 정확히 하나), 왜 그리고 어떻게 애너테이션 @FunctionalInterface로 표시하는지, default 및 static 메서드로 어떤 보완이 허용되는지, 그리고 이러한 인터페이스를 실제로 어떻게 사용하는지(일반 클래스와 익명 클래스)까지 다룹니다. Runnable, Comparator<T>, java.util.function의 인터페이스 예시와 함께 표와 흔한 실수 분석을 제공합니다.
    사용 가능
  • Java 아키텍처의 인터페이스, 디자인 패턴

    JAVA 25 SELF
    레벨 20,레슨 4
    인터페이스가 코드를 유연한 아키텍처로 바꾸는 방법: 추상화에 맞춰 프로그래밍하고, DI로 의존성을 주입하며, 테스트에서 구현을 대체하고, 코어를 수정하지 않고도 새로운 동작을 추가합니다 ( OCP). 인터페이스가 Observer, Strategy, Command 패턴의 기반이 되는 방식을 살펴보고, 예제( UserRepository, NotificationSender, 결제 전략)로 실습을 보여줍니다.
    사용 가능
  • 람다 표현식 소개

    JAVA 25 SELF
    레벨 21,레슨 0
    이 강의에서는 Java의 람다 표현식을 다룹니다: 무엇이며 왜 필요한지, 문법과 축약 규칙은 어떻게 되는지, 람다가 함수형 인터페이스 ( @FunctionalInterface)와 어떻게 연결되는지, 익명 클래스와 무엇이 다른지, 그리고 변수 캡처( final / effectively final)가 어떻게 동작하는지 설명합니다. Runnable, Consumer, Comparator, Function 및 Stream API의 실습 예제로 더 짧고 읽기 쉬운 코드를 쓰는 방법을 확인합니다. 마지막에는 “자주 하는 실수”와 이를 피하는 요령으로 마무리합니다.
    사용 가능
  • Method References (::): 메서드 참조

    JAVA 25 SELF
    레벨 21,레슨 1
    Java에서 메서드 참조에 대한 간단한 가이드: 어디에서, 어떻게 method reference를 람다 대신 사용할지. 4가지 형태를 다룹니다: Klass::metod(정적 및 “인스턴스 대상”), obekt::metod, Klass::new. 함수형 인터페이스와의 시그니처 매핑을 이해하고, 람다식과 비교하며, forEach, sort, map과 함께하는 실용 예제를 보고, 흔한 실수(시그니처 불일치, 메서드 오버로딩 등)를 논의합니다.
    사용 가능
  • 인터페이스의 default 메서드

    JAVA 25 SELF
    레벨 21,레슨 2
    이 강의에서는 Java 8에서 인터페이스에 default 메서드가 왜 도입되었는지, 그것들이 기존 코드를 깨뜨리지 않고 API를 발전시킬 수 있게 해 주는 방법, 그 문법(반환 타입 앞의 키워드 default)과 구현 시 동작을 다룹니다. 표준 라이브러리의 예( List: forEach, replaceAll, sort)로 실무 적용을 살펴봅니다. 제한 사항도 논의합니다: Object의 메서드( equals/ hashCode/ toString)는 가릴 수 없으며, 다중 구현 시 충돌 해결 규칙과 흔한 실수들도 다룹니다.
    사용 가능
  • 인터페이스의 static 메서드

    JAVA 25 SELF
    레벨 21,레슨 3
    Java의 인터페이스가 왜 그리고 어떻게 static 메서드를 갖게 되었는지 살펴봅니다: 선언 문법, default 메서드와의 차이, 핵심 제약사항(상속되지 않음, 재정의 불가, 인터페이스 이름으로만 호출, static 멤버에만 접근, Java 9+의 private static 지원). 실전 예제로 Movable.resetPosition(), 보조용 Logger, 컬렉션 팩토리 List.of()/ Set.of()/ Map.of()와 유틸리티 Comparator.reverseOrder()를 다룹니다. 마지막에는 흔한 실수와 예방법을 정리합니다.
    사용 가능
  • 1
  • ...
  • 9
  • 10
  • 11
  • 12
  • 13
  • ...
  • 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