전체 글 72

메서드 참조 (Lambda)

메서드 참조?(::연산자)람더 표현식을 더 간결하게 작성할 수 있도록 지원하는 문법, 단순히 메서드를 호출만 하는 경우에 주로 사용한다. 1. 정적 메서드 참조정적 메서드는 인스턴스 없이 바로 사용가능하다.-className::staticMethodclass staticMethodRef{ static int doubleValue(int x){ return x*2; }} 1) 람다 표현식Function doubleLambda = x -> StaticMethodRef.doubleValue(x); 2)메서드 참조식  --> 쿨론 두개로 바로 메서드를 호출하라는 것을 명령어로 넣을 수 있다.Function doubleLambdaRef = StaticMethodRef::doubleValue..

JAVA 2025.03.20

람다식(Lambda) - 함수형 인터페이스 4가지(Predicate, Function, Consumer, Supplier)

함수형 인터페이스란?자바의 함수형 인터페이스는 딱 한가지 일을 처리하는 메서드들을 모아놓은 패키지이다.람다식의 기본문법은 위 링크를 참조하자https://bergerac.tistory.com/27 1. Predicate(판단하다) : 입력 값을 받아 조건을 검사하는 데에 사용한다.- boolean test(T t): 주어진 입력 값이 조건을 만족하면 true / 그렇지 않으면 false 반환- and(Predicate other), or(Predicate other), negate(): Predicate 조합에 사용 cf) negate(부정하다): 현재의 결과를 역전**여러 조건을 and or 등으로 조합할 수 있다.Predicate isEven = n -> n % 2 == 0;Predicate isPo..

JAVA 2025.03.19

Lombok(롬복)

롬복 이란?롬복(Lombok) 은 자바 개발 시 반복되는 코드(보일러플레이트 코드) 를 간결하게 만들어주는 라이브러리입니다.간단한 어노테이션(Annotation) 만으로 getter, setter, toString, 생성자 등을 자동으로 생성할 수 있어 생산성을 크게 높일 수 있습니다.✅ 보일러플레이트 코드(boilerplate code)반복적으로 작성해야 하는 코드로, 개발자가 직접 구현하지 않아도 되는 코드입니다.예) getter/setter, toString(), 생성자 등 롬복의 어노테이션 종류 및 사용법 @Getter, @Setter : 필드에 대한 getter, setter 메서드를 자동 생성.@ToString : 객체의 toString() 메서드를 자동 생성.@NoArgsConstructor..

JAVA 2025.03.18

Builder Pattern(빌더 패턴)

1. 빌더 패턴이란?객체 생성 방법 중 하나이며 복잡한 객체를 단계별로 만들 때 사용한다.필드(속성)가 많거나, 필드에 필수값과 선택값이 섞여 있을 때 유용하다. 2. 사용목적생성자가 너무 많아지거나 코드가 복잡하고 읽기 어려울 때 빌더 패턴을 통하여 간편하게 입력을 할 수 있다. 이를 통하여 가독성이 향상되고 유연성이 증가하며 확장성이 용이할 수 있으나 미리 빌더 패턴을 만들어 놓음으로써 구현 복잡성은 증가하며 작은 객체에는 부적합하다. 3. 동작 원리1) 객체 생성 시 필요한 데이터를 저장하는 Builder 클래스를 생성 2) Builder 클래스는 원하는 속성을 단계별로 설정할 수 있는 메서드를 제공 3) build() 메서드를 호출하여 객체 생성 4. 사용방법1) Builder 클래스 정의+필드정..

JAVA 2025.03.17

Singleton Pattern(싱글톤 패턴)

싱글톤 패턴이란?소프트웨어 설계 패턴 중 하나이다.클래스의 인스턴스가 하나만 생서오디도록 보장하며 해당 클래스의 인스턴스에 전역적 접근은 제공하지만 일관된 상태를 유지한다. 1) 사용목적객체의 유일성을 보장, 자원을 절약을 위하여 사용한다. 2) 장점자원의 중복생성을 방지하기 때문에 메모리사용에 있어서 최적화가 가능하며, 전역상태를 공유하고 통제된 접근을 할 수 있다. 3) 단점전역 상태의 관리가 어려우며 다른 클래스에 영향을 끼칠 수 있다. (결합의 가능성이 존재하기 때문) 단, 테스트가 어렵다는 단점이 있다. 사용방법1) 필드값:  반드시 static 으로 가진다 : 인스턴스화 없이 호출이가능하며 자원이 하나의 값을 가지기 때문이다.private static Singleton instance;2)생성..

JAVA 2025.03.16

Generic(제네릭)

제네릭은 데이터 타입을 데이터 타입을 일반화(Generalization)하여, 여러 타입을 처리할 수 있도록 하는 기능컴파일 시 타입을 체크할 수 있도록 도와준다.특정 타입에 의존하지 않고 다양한 타입을 지원하는 설계가 가능하다.주요장점 : 타입 안정성, 코드안정성, 코드 재사용성, 가독성1. 제네릭 사용 방법class 클래스명 { - 제네릭 타입을 사용하여 필드, 생성자, 메서드 정의}class Pair { // K: Key, V: Value private K key; private V value; public Pair(K key, V value) { this.key = key; this.value = value; } public K get..

JAVA 2025.03.15

MVC 패턴

MVC 패턴이란?Model(모델), View(뷰), Controller(컨트롤러) 를 합친 말사용자가 인터페이스를 설계하는 소프트웨어 디자인 패턴 중 하나세 가지 구성 요소로 나누어 개발을 진행 (역할 분담)  cf) 디자인 패턴  소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대해 일반적인 해결책1. Model(모델) 애플리케이션의 데이터와 비즈니스 로직을 담당  *  : 데이터베이스, 파일 시스템, 외부 서비스와의 통신을 통해 데이터를 저장하고 검색  *  - 상태 변경에 대해 View와 Controller에게 알릴 수 있는 메커니즘을 제공  *  - View와 Controller의 세부 구현사항으로부터 독립적 2. View(뷰)사용자에게 데이터를 표시하는 방법을 정의Model의 정보를 표시, 사..

JAVA 2025.03.14

자바스크립트 사용을 위한 Node.js 설치하기

1.Node.js 검색 및 설치해당 버튼을 클릭하면 다운로드가 완료되게 되고, 설치파일 설치하며 동의버튼을 눌러주고 설치를 진행해 주면 된다. 2. 환경변수설정윈도우버튼 -> 환경변수설정을 검색한 후에 들어가면 환경변수 편집을 위하여 해당 창을 열어주면 다음 창이 뜨게 된다 환경변수를 새로 만들기 위해 새로만들기를 클릭해주면변수 이름의 경우 NODE_HOME변수값은 node.js가 설치된 경로를 입력하면 되는데 앞의 설치 과정에서 별다른 것을 건들지 않았다면C:\Program Files\nodejs\경로를 입력하면 된다. 그리고 cmd 프롬프트 창을 켜서다음과 같이 명령어를 입력해주면 본인이 어떤 버전이 사용되었는지 확인할 수 있다.

간단한 메모 2025.03.13

JAVA의 예외처리 (Throw/Throws)

JAVA에서 예외 처리를 하는 방법은 다음 3가지가 있다고 저번 포스팅까지 설명했었습니다. try-catch 블록throw, throws 키워드사용자 정의 에러 처리이번 글에서는 사용자 정의 에러 처리 방법과 throw throws키워드에 대해서 알아보도록 하겠습니다. 1. 사용자 정의 예외JAVA의 Exception class를 상속받는 자식 클래스를 직접 정의한다.class InvalidUserException extends Exception{ InvalidUserException(String message){ super(message);//Exception class의 get Message 사용 }} 이와 같이 따로 클래스를 만들어 예외를 처리할 수 있습니다. 이러한 사용자 ..

JAVA 2025.03.13

JAVA 예외처리(try- catch 블록 )

JAVA에서 예외 처리를 하는 방법은 다음 3가지가 있는데이번 포스에서는 try-catch 블록에 대해서 알아보도록 하겠습니다. try-catch 블록 throw, throws키워드를 통한 에러처리 사용자 정의 예외처리 try-catch 블록은 예외 발생 가능성이 있는 코드를 try 블록 안에 두고, 예외 발생 시 catch 블록에서 처리하는 구조입니다.-기본 형태try { // 예외가 발생할 가능성이 있는 코드} catch (예외클래스 e) { // 예외 발생 시 실행할 코드}-예제: 0으로 나누기 예외 처리public class TryCatchExample { public static void main(String[] args) { try { int d..

JAVA 2025.03.12