Java/강의 38

[📃 자바 입문] 프로그래머스 - 무료 강의

https://school.programmers.co.kr/learn/courses/5/5-%EB%AC%B4%EB%A3%8C-%EC%9E%90%EB%B0%94-%EC%9E%85%EB%AC%B8 무료 | 자바 입문#course-5 .markdown h1, #course-5 .markdown h2, #course-5 .markdown h3 { margin:0; } #course-5 .markdown p { margin:0; line-height: 1.6; } #course-5 .java-noti, #course-5 .description { padding:1.5rem; margin-top:2rem; /* background: rgba(245, 206, 0,school.programmers.co.kr 프로그래..

Java/강의 2025.04.30

[📙 Java 문법 종합반] 3-7. 쓰레드(Thread)

📙 목차쓰레드(Thread)란?싱글 쓰레드(Single Thread)멀티 쓰레드(Multi-Thread)와 쓰레드 구현join() - 특정 쓰레드가 끝날 때까지 기다리기Runnable 인터페이스 활용 (권장)실습 과제🧡 학습 목표쓰레드가 무엇인지 학습한다.1. 쓰레드(Thread)란?프로그램 내에서 독립적으로 실행되는 하나의 작업 단위싱글 쓰레드 는 한 번에 하나의 작업만 처리하지만 멀티쓰레드는 여러 작업을 동시에 처리할 수 있다.멀티 쓰레드를 활용하면 여러 작업을 병렬로 수행할 수 있어 처리 성능을 향상시킬 수 있다.2. 싱글 쓰레드(Single Thread)한 번에 하나의 작업만 처리여러 개의 작업을 순차적으로 처리한다.main() 메서드는 프로그램 시작과 동시에 생성되는 하나의 쓰레드이다.pub..

Java/강의 2025.04.17

[📙 Java 문법 종합반] 3-6. 스트림(Stream)

📙 목차스트림(stream) 이란?for vs 스트림스트림 살펴보기 (선언형 스타일)스트림과 람다식 활용스트림 중간연산과 함께 사용하기실습 과제🧡 학습 목표스트림이 무엇인지 학습한다.1. 스트림(stream) 이란?데이터를 효율적으로 처리할 수 있는 흐름선언형 스타일로 가독성이 굉장히 뛰어나다.데이터 준비 → 중간 연산 → 최종 연산 순으로 처리된다.스트림은 컬렉션(List, Set 등)과 함께 자주 활용된다.2. for 문 vs 스트림for 문public class Main { public static void main(String[] args) { List arrayList = new ArrayList(List.of(1, 2, 3, 4, 5)); // for 명령형..

Java/강의 2025.04.17

[📙 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