Java 57

[📙 Java 문법 종합반] 3-5. 람다(Lambda)

📙 목차익명 클래스람다(Lambda)람다 사용 시 주의사항람다식을 매개변수로 전달하는 방법🧡 학습 목표람다가 무엇인지 학습한다.1. 익명 클래스이름이 없는 클래스를 익명 클래스라고 한다.별도의 클래스 파일을 만들지 않고 코드 내에서 일회성으로 정의해 사용하기 때문에 이름이 없다고 한다.인터페이스, 클래스(일반, 추상)의 구현과 상속을 활용해 익명 클래스를 구현할 수 있다.람다에서는 인터페이스를 사용한 익명 클래스가 활용된다. 익명 클래스 예제익명 클래스를 코드내에서 직접 구현하기 때문에 클래스 파일을 만들 필요가 없다.하지만 코드가 길어진다.public class Main { public static void main(String[] args) { // ✅ 익명 클래스 활용 ..

Java/강의 2025.04.16

[📙 Java 문법 종합반] 3-4. 제네릭(Generic)

📙 목차제네릭(Generic)이란?제네릭 활용(재사용성 + 타입안정성)제네릭 메서드🧡 학습 목표제네릭이 무엇인지 학습한다.1. 제네릭(Generic)이란?제네릭은 클래스, 메서드 등에 사용되는 타입 매개변수를 의미한다.타입을 미리 지정하지 않고 사용 시점에 유연하게 결정할 수 있는 문법이다.제네릭을 활용하면 코드 재사용성과 타입 안정성을 보장받을 수 있다.과도하게 사용하면 오히려 복잡해질 수 있으므로 주의해야 한다.2. 제네릭 활용(재사용성 + 타입안정성)제네릭 구조(타입매개변수) 는 제네릭에서 타입을 의미하는 자리이다.실제 데이터 타입으로 대체되어 활용된다.(타입매개변수) 제네릭 클래스클래스 선언부에 가 선언된 클래스이다.클래스 선언시 타입 매개변수를 사용해 다양한 데이터 타입을 안전하게 처리..

Java/강의 2025.04.16

[📙 Java 문법 종합반] 3-3. 컬렉션(Collection)

📙 목차컬렉션(Collection)이란?배열의 한계컬렉션 종류와 특징실습 과제🧡 학습 목표Java 에서 컬렉션을 학습한다.1. 컬렉션(Collection)이란?자바 컬렉션 프레임워크는 이러한 자료구조들을 쉽게 사용할 수 있도록 인터페이스와 구현체(ArrayList, HashSet, HashMap 등)를 제공하는 집합이다.컬렉션을 통해 데이터 저장, 조회, 삭제, 정렬 등 다양한 기능을 간편하게 구현할 수 있다.배열과 다르게 컬렉션은 길이를 동적으로 변경할 수 있다.추가, 삭제 시 유연하게 길이가 변경된다. Collections (Java Platform SE 8 )Rotates the elements in the specified list by the specified distance. After c..

Java/강의 2025.04.16

[📙 Java 문법 종합반] 3-2. Optional - null 을 다루는 법

📙 목차Optional 이란?Optional 활용하기실습 과제🧡 학습 목표Optional 을 사용하는 이유와 개념을 학습한다.1. Optional 이란?null 을 안전하게 다루게 해주는 객체null 을 직접 다루는 대신 Optional 을 사용하면 NullPointerException 을 방지할 수 있다.NPE(NullPointerException) 예외는 런타임 예외이고 컴파일러가 잡아주지 못 한다.💡 null 이란?프로그래밍에서 값이 없음 또는 참조하지 않음 을 나타내는 키워드 예시 - Optional이 필요한 상황public class Student { private String name; public String getName() { return this.name;..

Java/강의 2025.04.16

[📙 Java 문법 종합반] 3-1. 예외(Exception)과 예외처리(try-catch)

📙 목차예외(Exception)예외 전파예외 구조와 종류실습 과제🧡 학습 목표Java의 예외처리에 대해서 학습한다.1. 예외(Exception) 예외(Exception)란?프로그램 실행 중 예상하지 못한 상황이 발생하는 것의도적으로 예외를 발생시킬 때는 throw 키워드를 통해 발생시킨다.예외를 처리하지 않으면 프로그램이 중단될 수 있다.예외처리(try-catch)를 통해 프로그램이 안정적으로 실행되게 할 수 있다. 예외 발생 예제의도하지 않은 예외아래 코드에서 10 / 0 연산을 수행하면서 ArithmeticException (산술예외)가 발생한다.0 으로 나누는 연산은 허용되지 않음으로 프로그램이 비정상적으로 종료된다.예외를 처리하지 않으면 이후 코드는 실행되지 않는다.public class Ma..

Java/강의 2025.04.16

[📙 Java 문법 종합반] 2-10. 객체지향 PART 4 - 다형성

📙 목차다형성(Polymorphism)인터페이스를 활용한 다형성형변환(Casting)다형성의 장점 맛보기실습 과제🧡 학습 목표다형성이 무엇인지 학습한다.형변환이 무엇인지 학습한다.객체지향의 4가지 특징캡슐화 - 데이터의 보호상속 - 재사용성과 확장추상화 - 데이터의 계층적 표현다형성 - 객체지향의 꽃1. 다형성(Polymorphism)다형성이란?하나의 타입으로 여러 객체를 다룰 수 있는 객체지향의 4번째 특징이다.추상 계층 특징을 통해 다형성을 구현할 수 있다.2. 인터페이스를 활용한 다형성 클래스 구조 참고 2-9. 객체지향 PART 3 - 추상화📙 목차추상화인터페이스 상속을 활용한 추상 계층 표현클래스 상속을 활용한 추상 계층 표현실습과제🧡 학습 목표추상화가 무엇인지 학습한다.객체지향의 4가지..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 2-9. 객체지향 PART 3 - 추상화

📙 목차추상화인터페이스 상속을 활용한 추상 계층 표현클래스 상속을 활용한 추상 계층 표현실습과제🧡 학습 목표추상화가 무엇인지 학습한다.객체지향의 4가지 특징캡슐화 - 데이터의 보호상속 - 재사용성과 확장추상화 - 데이터의 계층적 표현다형성 - 객체지향의 꽃1. 추상화추상화란?불필요한 정보를 제거하고 본질적인 특징만 남기는 것을 의미한다.객체지향 프로그래밍에서는 추상화의 계층적 특징을 활용해서 유지보수성이 좋은 프로그램을 만들 수 있다.계층구조를 자바의 특징(인터페이스 상속, 클래스 상속)을 통해 구현할 수 있다.추상화의 특징은 다형성에서 활용된다.2. 인터페이스 상속을 활용한 추상 계층 표현고양이 → 동물 → 생명체 public interface LifeForm { void exist(); //..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 객체지향 PART 2 - 상속

📙 목차상속(Inheritance) 이란?재사용성super확장재정의 - 메서드 오버라이딩(overriding)추상 클래스🧡 학습 목표상속이 무엇인지 학습한다.오버라이딩이 무엇인지 학습한다.추상클래스가 무엇인지 학습한다.객체지향의 4가지 특징캡슐화 - 데이터의 보호상속 - 재사용성과 확장추상화 - 데이터의 계층적 표현다형성 - 객체지향의 꽃1. 상속(Inheritance) 이란?클래스간의 관계를 부모(상위), 자식(하위) 로 바라보는 개념이다.이 구조를 통해 상속에서는 재사용성, 확장 이 가능하다. → 물려받은 속성과 기능은 자식 클래스에서 재사용할 수도 있고, 확장할수도 있다.extends 키워드를 사용해서 상속관계를 구현한다.상속을 통해 코드 중복을 줄이고 유지보수성을 높일 수 있다.추상화, 다형..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 2-7. 객체지향 PART 1 - 캡슐화(접근제어자)

📙 목차캡슐화(Encapsulation)란?접근제어자(Access Modifier)데이터 접근 - 게터(Getter)와 세터(Setter)무분별한 세터가 무엇일까?🧡 학습 목표캡슐화가 무엇인지 학습한다.접근제어자가 무엇인지 학습한다.무분별한 세터가 무엇인지 학습한다.객체지향의 4가지 특징캡슐화 - 데이터의 보호상속 - 재사용성과 확장추상화 - 데이터의 계층적 표현다형성 - 객체지향의 꽃1. 캡슐화(Encapsulation)란? 캡슐화란?객체의 정보를 외부에서 직접 접근하지 못하게 보호하는 개념이다.캡슐처럼 감싸서 내부를 보호하고 외부로부터 내용물을 숨기고 있는 모습에서 유래됐다.클래스 혹은 객체의 캡슐화는 접근제어자 를 통해서 구현할 수 있다. 캡슐화가 왜 필요할까?외부에 노출하고 싶지 않은 정보를 ..

Java/강의 2025.04.15

[📙 Java 문법 종합반] 인터페이스 - 표준화의 시작

📙 목차인터페이스(interface)란?인터페이스를 사용하는 이유인터페이스 적용인터페이스의 다양한 기능인터페이스에 변수를 선언하는 경우실습과제🧡 학습 목표인터페이스가 무엇인지 학습한다.1. 인터페이스(interface)란?인터페이스는 설계 표준이다.클래스가 따라야할 최소한의 공통 규칙을 정의하는 역할을 한다.2. 인터페이스를 사용하는 이유개발자마다 서로 다른 방식으로 메서드를 만든다면 일관성이 깨질 수 있다.인터페이스를 활용해서 최소한의 규격을 정의한다.세부 구현은 각 클래스에 맡긴다.일관성을 유지하면서 클래스가 고유한 특색을 확장할 수 있도록 돕는다.3. 인터페이스 적용인터페이스는 클래스가 지켜야 할 최소한의 규칙을 정의한다.클래스에서 implements 키워드로 인터페이스를 활용할 수 있다.인터페..

Java/강의 2025.04.15