[JAVA] 예외
·
JAVA
예외 처리컴파일 에러 →컴파일 시에 발생하는 에러 런타임 에러 →실행 시에 발생하는 에러 논리적 에러 →실행은 되지만 의도와 다르게 동작하는 것 - Runtime Error -에러가 생기면 프로그램 종료▶️ 예외처리 쓰면 프로그램이 종료되지 않음, 어느 부분이 오류 났는지 확인 가능▶️ 예외처리 하면 오류 사라짐→ 해결 된 건 아님예외 종류는 2가지◾ 컴파일 시 체크하는 예외 (checked Exception) → 객체를 생성할때 예외 처리 (FileInput~,IOException)        ▪️ 반드시 try 만들어야함. 생성자에 throw가 붙어 있음        ▪️ RuntimeException을 제외한 모든 Excepion◾ 실행 시 발생하는 예외(Runtime Exception을 상속 받..
[JAVA] 디자인 패턴
·
JAVA
디자인 패턴📌 소프트웨어 개발에서 자주 발생하는 문제를 해결하기 위한 표준화된 방법이나 절차 생성 패턴 (Creational Patterns)   객체 생성과 관련된 패턴 구조 패턴 (Structural Patterns)객체와 클래스 간의 관계를 다룸행위 패턴 (Behavioral Patterns)객체와 객체 간의 상호작용과 책임 분배에 관한 패턴 1. 생성 패턴 (Creational Patterns)▶️Singleton (싱글턴), Factory Method (팩토리 메소드), Abstㅋract Factory (추상 팩토리), Builder (빌더), Prototype (프로토타입)싱글톤 패턴 (Singleton Pattern)👉 클래스의 인스턴스가 오직 하나만 존재사용 예시: 데이터베이스 연결 ..
241230 TIL
·
TIL
Enum열거형특정 값들의 집합을 정의하여 그 값만 사용할 수 있게함타입으로 사용된다.// Enum 정의public enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY}public class EnumExample { public static void main(String[] args) { // Enum 값 사용 Day today = Day.MONDAY; System.out.println("Today is: " + today); // Enum 값의 순서 출력 System.out.println("Ordinal of today: " + today..
241227 TIL
·
TIL
🗂️객체지향 프로그래밍(OOP)📄UML 관계▪️연관 관계 (Association)두 클래스 간에 서로 연관이 있음을 나타냄예시:"학생(Student)은 강의(Course)를 수강한다."▪️집합 관계 (Aggregation)"전체-부분" 관계. 부분(Part)은 전체(Whole)에 포함되지만, 전체가 없어져도 부분은 독립적으로 존재할 수 있음예시:"팀(Team)은 여러 선수(Player)로 구성된다."팀이 없어져도 선수는 존재 가능.▪️합성 관계 (Composition)집합 관계의 특수한 형태로, "강한 전체-부분" 관계. 부분은 전체에 포함되며, 전체가 없어지면 부분도 함께 없어짐.예시:"자동차(Car)는 엔진(Engine)으로 구성된다."자동차가 없어지면 엔진도 더 이상 존재하지 않습니다.▪️일반화..
241226 TIL
·
TIL
쓰레드프로세스: 실행중인 프로그램쓰레드 → 수행 흐름모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재하며, 둘 이상의 쓰레드를 가진 프로세스를 “멀티쓰레드 프로세스”라고 한다.EX) 메신저로 채팅하면서 파일을 다운로드 받거나 다른 작업을 할 수 있음, 싱글쓰레드라면 파일을 다운로드 받는 동안 다른일(채팅)을 전혀 할 수 없음멀티 쓰레딩의 장단점장점CPU 사용율 향상자원을 효율적으로 사용사용자에 대한 응답성 향상단점동기화, 교착상태(DEADLOCK)✨교착상태: 두 쓰레드가 자원을 점유한 상태에서 서로 상대편이 점유한 자원을 사용하려고 기다리느라 진행이 멈춰저 있는 상태.쓰레드의 구현 1️⃣Thread 클래스 상속Thread 를 상속받으면 다른 클래스를 상속받을 수 없음스레드 관련 코드가 일반 클래스 코드..
241223 TIL
·
TIL
컬렉션 프레임워크  인터페이스설명주요 구현체중복 허용 여부 정렬 여부 Collection컬렉션의 기본 인터페이스 (직접 사용되지 않고 하위 인터페이스를 통해 사용)없음--List순서가 있는 컬렉션. 요소를 인덱스로 접근 가능ArrayList, LinkedList, Vector, Stack허용삽입 순서 유지Set중복이 없는 요소 집합HashSet, LinkedHashSet, TreeSet허용하지 않음TreeSet만 정렬 지원QueueFIFO(선입선출) 방식으로 요소를 관리하는 컬렉션LinkedList, PriorityQueue, ArrayDeque허용PriorityQueue는 정렬됨Deque양방향 큐로, 앞뒤에서 삽입/삭제 가능ArrayDeque, LinkedList허용삽입 순서 유지Map키-값 쌍으로 데..
241224 TIL
·
TIL
JavaIO데코레이터 패턴(Decorator Pattern)객체에 새로운 기능을 동적으로 추가하거나 확장할 때 사용하는 구조적 디자인 패턴객체의 기능을 변경하지 않고, 다양한 추가 기능을 조합객체는 다른 객체(데코레이터)로 감싸지며, 이 데코레이터가 새로운 기능을 추가하거나 변경기존 클래스와 새로운 기능을 분리하여, 코드의 유연성과 재사용성을 높인다생성자에 또 다른 IO를 받고 있다면 장식(데코레이터)장식은 혼자 사용할 수 없다!주인공→근원지,목적지장식→기능보조 스트림(데코레이터)Buffered Streams (버퍼링 스트림)Data Streams (데이터 스트림)Object Streams (객체 스트림)Print Streams (프린트 스트림) InputStream  OutputStream  Rea..
241220 TIL
·
TIL
JDBC자바 프로그램내에서 SQL문을 실행하기 위한 자바 APIJAVA는 표준 인터페이스인 JDBC API를 제공데이터베이스 벤더, 또는 기타 써드파티에서는 JDBC 인터페이스를 구현한 드라이버 (driver)를 제공java.sql패키지를 보면 대부분이 interface로 되어 있음이를 실제로 구현하는 것은 DBMS를 만든 회사JDBC 드라이버 설치-build.gradledependencies { implementation group: 'com.mysql', name: 'mysql-connector-j', version: '8.3.0'}maven,gradle이 없었으면 드라이버(라이브러리)를 하나 씩 찾아서 다운로드 해서 사용해야 함JDBC 사용import java.sql.*;//드라이버 로드 (예..
241216 [멋쟁이사자처럼 부트캠프 TIL 회고] Back-End school
·
TIL
Scanner 객체 매개변수 메소드재사용성 : 동일한 Scanner 객체를 여러 매소드에서 재사용자원 관리: 하나의 Scanner 객체를 공유함으로써 불필요한 자원 사용을 줄임import java.util.Scanner;public class UserInputHandler { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); collectPersonalInfo(scanner); collectContactInfo(scanner); collectPreferences(scanner); scanner.close(); ..
241213 [멋쟁이사자처럼 부트캠프 TIL 회고] Back-End school
·
TIL
내부 클래스내부 클래스 (Inner Class)는 자바에서 클래스 내부에 또 다른 클래스 정의클래스의 멤버처럼 취급, 특별한 접근 권한멤버 내부 클래스클래스 안에 필드로 클래스 사용내부 클래스가 외부 클래스의 privite한 필드에 접근해서 사용할 수 있다(같은 필드이므로)public class Book { private String title; private Author author; // Book 생성자 public Book(String title) { this.title = title; this.author = new Author(); } // Author의 이름 설정 public void setAuthorName(String name)..