전체 글
-
Java - 표준 API의 함수적 인터페이스Language/Java 2022. 11. 30. 11:28
표준 API의 함수적 인터페이스 Java8부터는 java.util.function 표준 API 패키지를 통해 빈번하게 사용되는 함수적 인터페이스가 제공된다. 이 패키지 안에 있는 함수적 인터페이스들을 크게 Consumer, Supplier, Function, Operator, Predicate로 구분할 수 있다. Consumer 함수적 인터페이스 인터페이스명 추상 메서드 설명 Consumer void accept(T t) 객체를 T를 받아 소비 BiConsumer void accept(T t, U u) 객체 T, U를 받아 소비 DoubleConsumer void accept(double value) double 값을 받아 소비 intConsumer void accept(int value) int 값을 ..
-
Java - 람다식의 개념과 사용 방법Language/Java 2022. 11. 29. 21:32
람다식의 개념과 사용 방법 람다식이란? 람다식은 메서드를 하나의 식으로 표현한 것을 말한다. 그리고 람다식은 함수의 이름이 없기 때문에 익명 함수라 도고 한다. 또한, 람다식은 메서드의 매개변수로 메서드의 결과로 반환될 수 있는 특징이 있어서 함수를 변수로 다룰 수 있다는 장점이 있다. 람다식의 기본 문법 A a - (매개변수) -> {구현코드}; 람다식을 작성하는 방법은 위와 같다. 왼쪽 소괄호 안의 매개변수는 오른쪽 중괄호 블록을 실행하기 위해 필요한 값을 제공하는 역할을 하며, 주어진 매개변수를 이용해서 중괄호 블록을 실행한다고 보면 된다. 람다식의 적용 예 Runnable runnable = new Runnable() { public void run() { System.out.println("La..
-
Java - 열거 타입(enum)Language/Java 2022. 11. 29. 15:24
열거 타입(enum) 열거 타입(enum)이란? 데이터 중에는 몇 가지로 한정된 값만을 갖는 경우가 존재한다. 예를 들어, 요일에 대한 데이터는 월요일~일요일까지 총 일곱 개의 값만 갖고, 계절에 대한 데이터는 봄~겨울까지 총 네 개의 값을 갖는다. 이와 같이 한정된 값만을 갖는 데이터 타입을 열거 타입이라고 한다. 열거 타입 및 열거 타입 변수 선언 public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } 열거 타입은 위 코드와 같이 간단하게 표현할 수 있다. 위 코드의 경우 요일을 예로 들어 열거 타입을 만든 것이다. 맨 앞에 접근 제한자를 적고, 그다음에 class가 아닌 enum을 적은 후 마지막으로 en..
-
Java Design Pattern - 추상 팩토리 패턴(Abstract Factory Pattern)Language/Java Design Pattern 2022. 11. 22. 14:31
추상 팩토리 패턴(Abstract Factory Pattern) 추상 팩토리 패턴이란? 추상 팩토리 패턴이라는 이름만 봐서는 팩토리 메서드 패턴과 비슷해 보이지만, 명확한 차이점이 있다. 1. 팩토리 메서드 패턴 : 조건에 따른 객체 생성을 팩토리 클래스로 위임하여, 팩토리 클래스에서 객체를 생성하는 패턴 2. 추상 팩토리 패턴 : 서로 관련이 있는 객체들을 통째로 묶어서 팩토리 클래스로 만들고, 이들 팩토리를 조건에 따라 생성하도록 다시 팩토리를 만들어서 객체를 생성하는 패턴 추상 팩토리 패턴은 어떻게 보면, 팩토리 메서드 패턴을 좀 더 캡슐화한 방식이라고 할 수 있다. 예를 들어, 컴퓨터를 생산하는 공장이 있을 때 마우스, 키보드, 모니터의 제조사로 Samsung과 LG가 있다고 가정해 보겠다. 컴퓨..
-
Java Design Pattern - 팩토리 메서드 패턴(Factory Method Pattern)Language/Java Design Pattern 2022. 11. 22. 11:27
팩토리 메서드 패턴(Factory Method Pattern) 팩토리 메서드 패턴이란? 어떠한 상황에서 조건에 따라 객체를 다르게 생성해야 할 경우가 있다. 예를 들면, 사용자의 입력값에 따라 하는 일이 달라질 경우, 분기를 통해 특정 객체를 생성해야 한다. 객체마다 하는 일이 다르기 때문에 조건문에 따라 객체를 다르게 생성하는 것은 이상한 일이 아니다. 팩토리 메서드 패턴은 이렇게 분기에 따른 객체의 생성을 직접 하지 않고, 팩토리라는 클래스에 위임하여 팩토리 클래스가 객체를 생성하도록 하는 방식을 말한다. 팩토리는 말 그대로 객체를 찍어내는 공장을 의미한다. 팩토리 메서드 패턴의 사용 이유 public class Type { } public class TypeA extends Type { public..
-
Java Design Pattern - 템플릿 메서드 패턴(Template Method Pattern)Language/Java Design Pattern 2022. 11. 22. 10:07
템플릿 메서드 패턴(Template Method Pattern) 템플릿 메서드 패턴이란? 템플릿 메서드 패턴은 여러 클래스에서 공통으로 사용하는 메서드를 상위 클래스에서 정의하고, 다르게 구현해야 하는 세부적인 사항을 하위 클래스에서 구현하는 패턴을 말한다. 코드의 중복을 제거하기 위해 흔히 사용되는 리팩터링 기법이다. 상위 클래스에서 정의하는 부분을 템플릿 메서드라 하고, 템플릿 메서드에서 하위 클래스마다 다르게 구현되어야 하는 부분을 훅이라고 한다. 템플릿 메서드의 구현 public abstract class Parent { /** 자식에서 공통적으로 사용하는 부분(템플릿 메서드) */ public void someMethod() { System.out.println("Parent에서 실행되는 부분 ..