IT/JAVA 22

[Java] 코딩테스트 중간 점검

문제 1: 두 수의 합1. 문제 설명두 정수 A와 B가 주어질 때, 두 수의 합을 출력하는 프로그램을 작성하시오.2. 입력첫 번째 줄에 정수 A와 B가 공백으로 구분되어 주어진다.3. 출력두 정수의 합을 출력한다.제한 사항1 import java.util.Scanner;public class code01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); sc.close(); int result = A + B; System.out.println(result)..

IT/JAVA 2025.03.25

[JAVA] 자바 기초 복습 (Chapter.14) part3

📅 학습 기간: 2월 3주차!🎯 학습 내용: 스트림 API 개념 및 활용📌 1. 스트림 API란?💡 컬렉션 데이터를 선언적으로 처리하도록 지원하는 도구데이터 필터링, 변환, 집계 등의 작업 수행람다 표현식과 결합하여 간결한 코드 작성 가능함수형 프로그래밍 기법과 함께 사용✅ 2. 스트림 API의 특징1️⃣ 데이터 파이프라인 구축데이터를 연속적으로 처리하는 방식여러 중간 연산을 연결하여 최종 연산에서 처리2️⃣ 불변성 (Immutable)원본 데이터 변경 없이 새로운 값을 반환3️⃣ 지연 처리 (Lazy Evaluation)중간 연산은 즉시 실행되지 않고 최종 연산이 호출될 때 실행✅ 3. 스트림 API의 기본 구성 요소1) 소스 (Source)스트림을 생성하는 단계컬렉션, 배열, 파일을 스트림의 ..

IT/JAVA 2025.03.06

[JAVA] 자바 기초 복습 (Chapter.14) part2

📅 학습 기간: 2월 3주차!🎯 학습 내용: 람다 표현식에서 메서드 참조 (:: 연산자) 활용📌 1. 메서드 참조 (:: 연산자)란?💡 람다 표현식을 더 간결하게 작성할 수 있도록 지원하는 문법단순히 메서드 호출만 하는 경우 람다 표현식보다 간결하게 표현 가능ClassName::staticMethod 또는 instance::instanceMethod 형태로 사용✅ 1) 정적 메서드 참조 (Static Method Reference)객체 생성 없이 바로 사용할 수 있는 메서드 참조구문: ClassName::staticMethodclass StaticMethodRef { static int doubleValue(int x) { return x * 2; }}public class..

IT/JAVA 2025.03.05

[JAVA] 자바 기초 복습 (Chapter.14) prat1

📅 학습 기간: 2월 3주차!🎯 학습 내용: 내부 클래스(Inner Class), 람다 표현식(Lambda Expression)📌 1. 내부 클래스 (Inner Class)💡 내부 클래스란?클래스 내부에 정의된 클래스캡슐화를 강화하고, 외부 클래스와 밀접한 관계를 유지✅ 1) 비정적 내부 클래스 (Instance Inner Class)외부 클래스의 인스턴스가 먼저 생성된 후 내부 클래스 인스턴스를 생성해야 함class Outer { class Inner { void display() { System.out.println("비정적 내부 클래스"); } }}public class Main { public static void main(Str..

IT/JAVA 2025.03.05

[JAVA] 자바 기초 복습 (Chapter.13)

📅 학습 기간: 2월 3주차🎯 학습 내용: 제네릭 / 싱글톤 / 빌더 / 롬복📌 1. 제네릭 (Generics)💡 데이터 타입을 일반화하여 다양한 타입을 지원하는 기능✅ 타입 안정성, 코드 재사용성, 가독성을 향상🔹 1.1 제네릭 클래스// 제네릭 클래스 정의class Pair { private K key; private V value; public Pair(K key, V value) { this.key = key; this.value = value; } public K getKey() { return key; } public V getValue() { return value; }}// 제네릭 클래스 사용Pair pair = new Pa..

IT/JAVA 2025.03.05

[JAVA] 자바 기초 복습 (Chapter.12)

📅 학습 기간: 2월 2주차🎯 학습 내용: MVC 패턴 (Model-View-Controller)📌 1. MVC 패턴이란?💡 MVC 패턴(Model-View-Controller)사용자가 인터페이스를 설계하는 소프트웨어 디자인 패턴프로그램을 Model(모델), View(뷰), Controller(컨트롤러) 세 가지 요소로 분리하여 개발🔹 디자인 패턴이란?소프트웨어 개발 과정에서 자주 발생하는 문제에 대한 일반적인 해결책📌 2. MVC 패턴의 구성 요소✅ 1) Model (모델)애플리케이션의 데이터 및 비즈니스 로직을 담당데이터 저장, 검색 및 상태 변경을 처리View 및 Controller의 구현 세부사항으로부터 독립적class LunchMenu { private String menu; ..

IT/JAVA 2025.03.04

[JAVA] 자바 기초 복습 (Chapter.11)

📅 학습 기간: 2월 2주차🎯 학습 내용: OOP / 결합도 & 응집도📌 1. OOP (객체 지향 프로그래밍)💡 객체 지향 프로그래밍의 5가지 원칙인 SOLID 원칙을 기반으로 소프트웨어 설계✅ 유지 보수성과 확장성을 높이기 위한 핵심 개념🔹 1.1 SOLID 원칙원칙설명SRP (단일 책임 원칙)클래스는 단 하나의 책임만 가져야 한다OCP (개방-폐쇄 원칙)확장에는 열려 있고, 수정에는 닫혀 있어야 한다LSP (리스코프 치환 원칙)상위 클래스 객체를 하위 클래스 객체로 치환 가능해야 한다ISP (인터페이스 분리 원칙)하나의 큰 인터페이스보다 여러 개의 작은 인터페이스를 사용하는 것이 좋다DIP (의존 역전 원칙)고수준 모듈이 저수준 모듈에 의존하지 않고, 추상화에 의존해야 한다✅ OOP의 4가지..

IT/JAVA 2025.03.03

[JAVA] 자바 기초 복습 (Chapter.10)

📅 학습 기간: 2월 2주차🎯 학습 내용: 컬렉션 프레임워크📌 1. 컬렉션 프레임워크 (Collection Framework)💡 데이터를 저장하고 처리하는 자료구조의 표준화된 설계✅ 다양한 자료구조 제공, 데이터의 효율적인 관리 지원🔹 1.1 컬렉션 프레임워크 주요 인터페이스Collection자바 컬렉션 프레임워크의 최상위 인터페이스 (List, Set 등이 하위 인터페이스)List순서 유지 (Index 번호), 중복 가능 (ArrayList, LinkedList, Vector)Set순서 없음, 중복 불가능 (HashSet, TreeSet, LinkedHashSet)Map키(Key) - 값(Value) 쌍으로 이루어진 데이터 (HashMap, TreeMap, LinkedHashMap)✅ Queu..

IT/JAVA 2025.03.02

[JAVA] 자바 기초 복습 (Chapter.09)

📅 학습 기간: 2월 2주차🎯 학습 내용: 예외 처리 / API📌 1. 예외 처리 (Exception Handling)💡 프로그램 실행 중 발생할 수 있는 예기치 못한 문제나 조건을 처리하는 방법✅ 예외 발생 시 프로그램이 중단되지 않고 정상적인 흐름을 유지하도록 처리🔹 1.1 자바 예외 클래스 구조분류설명Throwable예외와 오류의 최상위 클래스, 모든 예외 클래스는 이를 상속Exception (예외)프로그램이 처리할 수 있는 예외 (개발자가 직접 해결 가능)Error (오류)프로그램 외부에서 발생하는 시스템 수준 문제 (개발자가 직접 처리 불가)✅ 자바 클래스 타입의 최상위 클래스는 Object🔹 1.2 예외의 종류✅ Checked Exception (컴파일 시 체크되는 예외)컴파일 시 ..

IT/JAVA 2025.03.02

[JAVA] 자바 기초 복습 (Chapter. 08)

📅 학습 기간: 2월 2주차!🎯 학습 내용: 추상화 / 인터페이스📌 1. 추상화 (Abstraction)💡 미완성된 설계도 역할을 하는 추상 클래스✅ 추상 클래스 자체로 인스턴스를 생성할 수 없음✅ 다른 클래스가 상속받아 완성해야 사용 가능🔹 1.1 추상 클래스 특징특징설명인스턴스 생성 불가단독으로 객체 생성이 불가능하며, 반드시 상속을 통해 사용해야 함추상 메서드 포함하나 이상의 추상 메서드를 반드시 포함해야 함확장성 제공자식 클래스가 공통 기능을 공유하면서 개별적인 기능을 구현하도록 강제다중 상속 불가하나의 extends만 가능🔹 1.2 추상 클래스 구현 방법abstract class Human { abstract void work(); // 추상 메서드 (구현부 X)}class Po..

IT/JAVA 2025.03.01