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

강의

  • 리뷰
  • 회사 소개
시작
학습 시작
Start learning now
  • 진행 상황
  • 코스
  • 퀘스트 맵
  • 레슨
  • 컬렉션과 스트림에서의 람다 사용

    JAVA 25 SELF
    레벨 48,레슨 1
    컬렉션과 Stream API에서의 람다 표현식 실습: 익명 클래스를 간결한 람다로 대체하는 법, 컬렉션 메서드( forEach, removeIf, sort, replaceAll)를 사용하는 법, 그리고 데이터 처리 파이프라인( stream → filter → map → sorted → collect)을 구성하는 법을 다룹니다. 익명 클래스와 비교하고, “effectively final” 변수에 대해 논의하며, 주요 연산 표와 흔한 실수도 살펴봅니다.
    사용 가능
  • 람다 표현식의 장점과 단점

    JAVA 25 SELF
    레벨 48,레슨 2
    이 강의에서는 Java가 람다 표현식을 도입한 이유를 다룹니다: 간결함과 가독성, 동작을 매개변수로 전달, 컬렉션과 Stream API( filter, map, forEach)와의 통합, “사실상” final 변수 캡처, 그리고 연산자 ->를 통한 콜백의 깔끔한 표기. 동시에 주의해야 할 점도 살펴봅니다: 긴 체인의 디버깅, 오버로드의 모호성( Runnable vs Callable), 클로저의 제약, 직렬화, 그리고 중첩 람다. 마지막에는 람다를 언제 사용해야 하는지에 대한 실용적인 권장사항과 흔한 실수 분석을 제공합니다.
    사용 가능
  • Java의 클로저(closure): 특징

    JAVA 25 SELF
    레벨 48,레슨 3
    이 강의에서는 클로저가 무엇이며 Java에서 어떻게 동작하는지 다룹니다: 람다와 익명 클래스가 외부 변수를 어떻게 ‘캡처’하는지, 왜 지역 변수가 final 또는 사실상 final이어야 하는지, 지역 변수 캡처가 클래스 필드 접근과 어떻게 다른지, 그리고 람다와 익명 클래스에서 this가 어떻게 동작하는지. 또한 IntSupplier를 이용한 함수 팩토리를 보여 주고, 캡처의 내부 구현과 흔한 오류(예: 컴파일러 메시지 Variable used in lambda expression should be final or effectively final)를 살펴봅니다.
    사용 가능
  • 익명 클래스: 람다식과의 차이, 예제

    JAVA 25 SELF
    레벨 48,레슨 4
    이 강의에서는 Java의 익명 클래스가 무엇인지, 람다식과 어떻게 다른지 살펴봅니다: 문법, 기능(필드, 추가 메서드, toString/ equals 재정의), 스코프와 this의 동작, 변수 캡처(오직 final/“사실상 final”). Runnable, Comparator, Predicate 예제를 통해 실습하고, 언제 람다식을, 언제 익명 클래스를 선택할지에 대한 권장 사항도 제공합니다.
    사용 가능
  • 함수형 인터페이스: Predicate, Consumer, Supplier, Function

    JAVA 25 SELF
    레벨 49,레슨 0
    패키지 java.util.function의 핵심 함수형 인터페이스들인 Predicate, Consumer, Supplier, Function을 살펴봅니다. 이들이 무엇을 입력/반환하는지, 그리고 Stream API의 어디에서 쓰이는지( filter, map, forEach, generate)를 설명합니다. “정확히 하나의 추상 메서드” 규칙과 @FunctionalInterface 애너테이션을 상기하고, 람다를 작성해 익명 클래스와 비교하며, User 클래스를 예제로 연습하고 Predicate/ Function 선택 등 흔한 실수도 정리합니다.
    사용 가능
  • 함수 합성: compose, andThen

    JAVA 25 SELF
    레벨 49,레슨 1
    이 강의는 작은 함수들을 이용해 변환 파이프라인을 만드는 방법을 다룹니다. 이를 위해 Function과 그 메서드 compose, andThen을 사용합니다. 적용 순서, 타입 호환성, Predicate의 예시( and, or, negate), Consumer( andThen)를 살펴보고, 실전적인 파이프라인을 구성한 뒤 흔한 실수도 함께 논의합니다: 순서 혼동( f.compose(g) vs f.andThen(g)), 타입 불일치, 그리고 체인이 길어져 생기는 “스파게티”. 또한 apply, test, accept를 활용해 가독성이 높고 재사용 가능한 변환을 만드는 법을 익힙니다.
    사용 가능
  • 함수를 매개변수로 전달하기: 예제

    JAVA 25 SELF
    레벨 49,레슨 2
    Java에서 동작(behavior)을 전달하는 방법에 대한 실용적 입문: 람다식 ( ->)과 메서드 참조 ( ::)를 Stream API와 컬렉션과 함께 사용하는 법. java.util.function의 표준 함수형 인터페이스 — Comparator, Predicate, Function, Consumer, Supplier — 를 살펴보고, 범용 메서드를 작성하고, 동작을 매개변수로 받으며, 흔한 실수를 피하는 방법을 배웁니다. Stream, Optional 그리고 자체 리스트 처리 유틸리티 예제로 연습해 봅니다.
    사용 가능
  • Stream API와 함께하는 함수형 스타일

    JAVA 25 SELF
    레벨 49,레슨 3
    명령형 루프에서 Stream API를 이용한 선언형 데이터 처리 파이프라인으로 전환합니다: 중간 연산과 종단 연산, 지연 평가, toList()/ collect로 결과를 수집하는 방법, 핵심 연산 map, filter, sorted, flatMap, reduce, 그리고 anyMatch/ allMatch/ noneMatch 검사까지 다룹니다. 명령형과 함수형 스타일을 비교하고, 실전 예제와 흔한 실수를 살펴봅니다. 컬렉션 수집 시 부적절한 forEach 사용과 섣부른 parallelStream()도 함께 짚어 봅니다.
    사용 가능
  • 함수형 프로그래밍에서의 오류 분석

    JAVA 25 SELF
    레벨 49,레슨 4
    Java에서 람다와 Stream API를 사용할 때 가장 흔한 10가지 실수: 변수 캡처 ( final/ effectively final), 람다에서의 this 동작, 부작용과 병렬 처리( parallelStream()), 타입 추론과 generics, null 및 Optional 처리, 함수 합성( compose/ andThen), 그리고 체크 예외(예: IOException). 안전한 기법도 함께 소개합니다: Objects::nonNull로 필터링, 터미널 연산( sum(), collect(...)), 스레드-세이프 컬렉션, 그리고 긴 체인의 분해.
    사용 가능
  • 리스너 (Listeners)와 이벤트 인터페이스

    JAVA 25 SELF
    레벨 50,레슨 0
    Java의 이벤트 모델이 어떻게 동작하는지: 소스가 이벤트를 생성하고, 구독된 리스너가 알림을 받아 반응합니다. Swing의 핵심 리스너 인터페이스 — ActionListener, MouseListener, KeyListener, ChangeListener, DocumentListener — 를 살펴보고, addActionListener로 핸들러를 등록하고 메서드 actionPerformed를 구현하는 방법을 보여 줍니다. JButton/ JFrame에 리스너를 연결하는 연습을 하고, 익명 클래스와 람다 표현식을 비교하며, 흔한 실수와 실무 팁을 논의합니다.
    사용 가능
  • Swing 및 AWT의 이벤트: 기초, 예제

    JAVA 25 SELF
    레벨 50,레슨 1
    AWT/Swing 이벤트 모델에 대한 짧고 실용적인 소개: 버튼 JButton을 만들고, addActionListener로 리스너를 등록한 뒤, actionPerformed에서 처리합니다. 익명 클래스와 람다식, 자주 쓰는 리스너들( MouseListener/ MouseAdapter, KeyAdapter, DocumentListener)을 살펴보고, JFrame, JButton, JLabel을 기반으로 미니 애플리케이션을 작성하며, 호출 순서와 흔한 실수(처리기에서의 무거운 작업, 람다에서 변수의 final 요구, 잊어버린 addActionListener, 리스너 제거, SwingWorker 사용)를 확인합니다.
    사용 가능
  • 사용자 정의 이벤트 생성과 처리

    JAVA 25 SELF
    레벨 50,레슨 2
    이 강의에서는 Java에서 사용자 정의 이벤트를 설계하는 방법을 다룹니다: java.util.EventObject를 기반으로 이벤트 클래스를 만들고, java.util.EventListener를 통해 리스너 인터페이스를 정의하며, 구독/해제 메커니즘( add...Listener/ remove...Listener)과 알림( fire...)을 추가합니다. DataLoader와 카운터 예제로 실습을 살펴보고, 익명 클래스와 람다 표현식으로 처리하는 방법, 그리고 전형적인 오류들(리스너에서 발생한 예외, 메모리 누수, ConcurrentModificationException)도 함께 분석합니다.
    사용 가능
  • 1
  • ...
  • 21
  • 22
  • 23
  • 24
  • 25
  • ...
  • 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