Java 람다식(Lambda Expression) 완벽 정리 📘 람다의 정의 람다식(Lambda Expression)은 이름이 없는 함수(익명 함수)를 간결하게 표현하는 문법입니다. 자바에서 메서드를 사용하려면 원래 클래스 안에 반드시 정의해야 했습니다. 그러나 람다식은 클래스를 정의하지 않고도 함수처럼 동작하는 코드 블록을 표현할 수 있는 방법입니다. 즉, “람다는 메서드를 값처럼 다룰 수 있게 해주는 문법입니다.” 람다는 함수형 인터페이스(Functional Interface) 기반으로 동작합니다. 함수형 인터페이스란 오직 하나의 추상 메서드만 가진 인터페이스입니다. 예를 들어, @FunctionalInterfaceinterface Calcula..
Java 내부 클래스(Inner Class)의 완전한 이해 내부 클래스란 무엇인가 Java에서 내부 클래스(Inner Class)란, “다른 클래스 내부에 선언된 클래스”를 의미합니다. 즉, 한 클래스가 다른 클래스 안에 포함되어 있는 구조입니다. 이 구조는 단순히 ‘클래스를 안에 넣는 문법’이 아니라, 외부 클래스와 내부 클래스 간의 강한 논리적 연결(결합)을 표현하는 설계 방식입니다. 이때 내부 클래스는 단순한 코드 장식이 아니라, 구조적으로 한 클래스가 다른 클래스의 일부일 때, 외부에서 노출할 필요가 없을 때, 상속으로 표현할 수 없는 포함 관계를 표현할 때 사용됩니다. 내부 클래스가 필요한..
Java 싱글톤 패턴(Singleton Pattern) 완전 이해 싱글톤 패턴의 개념 Java에서 싱글톤 패턴(Singleton Pattern)은 “프로그램 전체에서 단 하나의 객체만 존재하도록 보장하는 설계 방식”입니다. 즉, 객체를 여러 번 만들지 않고 한 번만 생성해서 공유하는 구조입니다. 이 개념을 이해하려면 반대로 “싱글톤이 아닌 일반적인 객체 생성 방식”을 먼저 비교해보는 것이 좋습니다. 일반적인 객체 생성 방식과의 비교 일반적인 클래스는 new 키워드를 이용해 객체를 만들 수 있습니다. 예를 들어, public class Counter { private int count = 0; public void increase() { ..
Java 추상 클래스(Abstract Class)와 추상 메서드(Abstract Method)의 구조적 이해 추상 클래스의 본질과 일반 클래스와의 비교 Java에서 추상 클래스(Abstract Class)는 “공통된 특징을 가진 여러 클래스의 기본 틀”입니다. 하지만 이 틀은 완성되지 않은 상태이기 때문에 객체를 직접 생성할 수 없습니다. 즉, 추상 클래스는 “공통점은 미리 정의하고, 세부 내용은 나중에 자식이 채우게 하는 클래스”입니다. 먼저 일반 클래스를 생각해보면 이해가 쉽습니다. 일반 클래스는 모든 기능이 완전히 구현되어 있으므로, 바로 객체를 생성할 수 있습니다. public class Dog { public void sound() { Sy..
Java Interface 완전 이해하기 Interface의 개념과 존재 이유 Interface는 Java에서 ‘약속’의 개념을 코드로 표현한 구조입니다. 즉, “이 기능을 반드시 만들어야 한다”는 규칙을 정의하는 설계도입니다. 예를 들어, 여러 기기를 하나의 리모컨으로 제어해야 한다고 가정해보겠습니다. 리모컨에는 turnOn()과 turnOff()라는 버튼이 있습니다. 하지만 TV, 라디오, 에어컨은 각각의 방식으로 켜지고 꺼집니다. Interface는 이런 상황에서 ‘모든 기기가 동일한 버튼을 가져야 한다’는 통일된 규칙을 제공합니다. 따라서 Interface는 “무엇을 할 수 있는지”만 정의하고, “어떻게 할지”는 구현 클래스가 스스로 결정하게 합니다..
- Total
- Today
- Yesterday
- 알고리즘 문제풀이
- 알고리즘기초
- 그래프 탐색
- 상속
- 그리디
- 브루트포스
- Python
- 동적 계획법
- 프로그래머스
- python 알고리즘
- 알고리즘문제풀이
- 파이썬
- 알고리즘
- 문제풀이
- C++
- 동적계획법
- 객체지향
- 백준
- 파이썬코딩
- 프로그래밍
- 그리디알고리즘
- 코딩
- 문제 풀이
- 코딩테스트
- 코딩 테스트
- c언어
- DP
- 문자열처리
- dfs
- HTML
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
