java
-
Java - 제네릭(Generic)이란?Language/Java 2022. 12. 27. 16:31
제네릭이란? 제네릭이란? 제네릭(Generic)은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다. 특정 클래스를 인스턴스화 할때, 구체적인 데이터 타입을 언급하는 방식이다. 제네릭의 사용 class Person { public T info; } public class GenericDemo { public static void main(String[] args) { Person p01 = new Person(); Person p02 = new Person(); } } 제네릭 타입의 Person 클래스를 생성한 후, 서로 다른 타입으로 인스턴스를 생성하였다. 각각의 인스턴스를 생성할 때, 사이에 어떠한 데이터 타입을 사용했느냐에 따라 다른 데이터 타입을 가진 인스턴스를 생성할 수 있..
-
Java - 스트림(Stream) 최종 처리 메서드의 종류와 사용 방법(1)Language/Java 2022. 12. 1. 11:20
스트림(Stream) 최종 처리 메서드의 종류와 사용 방법(1) 최종 처리 메서드의 종류 중간 처리 메서드의 리턴 타입은 스트림이었던 반면, 최종 처리 메서드는 기본 타입이거나 OptionalXXX이다. 또한, 소속된 인터페이스가 Stream, IntStream, LongStream, DoubleStream에서 모두 제공된다는 의미이다. 종류로는 매칭, 집계, 루핑, 수집이 있는데 이번 게시글에서는 루핑까지만 살펴보도록 하겠다. 매칭 매칭은 최종 처리 단계에서 요소들이 특정 조건에 만족하는지 조사할 수 있도록 설계한 것이다. 비슷한 역할로는 중간 처리 단계에서 필터링이 있다. 리턴 타입은 모두 boolean이고, 메서드의 종류로는 allMatch(), anyMatch(), noneMatch()가 있다. ..
-
Java - 스트림(Stream) 파이프라인Language/Java 2022. 11. 30. 16:45
스트림(Stream) 파이프라인 스트림 파이프라인 스트림은 데이터의 필터링, 매핑, 정렬, 그룹핑 등의 중간 처리와 합계, 평균, 카운팅, 최댓값, 최솟값 등의 최종 파이프라인으로 해결한다. 여기서, 파이프라인은 컴퓨터 과학에서 한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태로 연결된 구조를 말한다. 최종 처리 스트림과 오리지널 스트림을 제외한 나머지 스트림은 중간 처리 스트림으로 볼 수 있다. 위의 그림을 보면 알 수 있듯이, 이전 데이터 처리의 출력이 다음 단계의 입력으로 이어진다. 좀 더 구체적으로 말하자면, 스트림 인터페이스에는 필터링, 매핑, 정렬 등의 많은 중간 처리 메서드가 있는데, 이 메서드들은 중간 처리된 스트림을 반환한다. 그리고 이 스트림에서 다시 중간 처리 메서드를..
-
Java - 람다식의 개념과 사용 방법Language/Java 2022. 11. 29. 21:32
람다식의 개념과 사용 방법 람다식이란? 람다식은 메서드를 하나의 식으로 표현한 것을 말한다. 그리고 람다식은 함수의 이름이 없기 때문에 익명 함수라 도고 한다. 또한, 람다식은 메서드의 매개변수로 메서드의 결과로 반환될 수 있는 특징이 있어서 함수를 변수로 다룰 수 있다는 장점이 있다. 람다식의 기본 문법 A a - (매개변수) -> {구현코드}; 람다식을 작성하는 방법은 위와 같다. 왼쪽 소괄호 안의 매개변수는 오른쪽 중괄호 블록을 실행하기 위해 필요한 값을 제공하는 역할을 하며, 주어진 매개변수를 이용해서 중괄호 블록을 실행한다고 보면 된다. 람다식의 적용 예 Runnable runnable = new Runnable() { public void run() { System.out.println("La..
-
Java Design Pattern - 전략 패턴(Strategy Pattern)Language/Java Design Pattern 2022. 11. 18. 15:02
전략 패턴(Stratgy Pattern) 전략 패턴이란? 객체들이 할 수 있는 행위 각각에 대해 전략 클래스를 생성하고, 유사한 행위들을 캡슐화하는 인터페이스를 정의하여, 객체의 행위를 동적으로 바꾸고 싶은 경우 직접 행위를 수정하지 않고 전략을 바꿔주기만 함으로써 행위를 유연하게 확장하는 방법을 말한다. 다시 말해, 객체가 할 수 있는 행위들 각각을 전략으로 만들어 놓고, 동적으로 행위의 수정이 필요한 경우 전략을 바꾸는 것만으로 행위의 수정이 가능하도록 만든 패턴이다. 전략 패턴의 사용 이유 위 다이어그램과 같이 기차(Train)와 버스(Bus) 클래스가 있고, 이 두 클래스는 Movable 인터페이스를 구현하고 있는 구조이다. public interface Movable { public String..
-
Java - 예외 처리Language/Java 2022. 9. 29. 13:41
예외 처리 예외 처리란? 자바에서 예외 처리란 프로그램 실행 중 발생할 수 있는 예기치 못한 예외 발생에 대비한 코드를 작성하는 것이며, 예외처리의 목적은 예외의 발생으로 인한 실행 중인 프로그램의 갑작스러운 비정상적인 종료를 막고 실행상태를 유지하는 것에 있다. 자바에서의 예외 처리 방식은 아래와 같다. 1. 예외가 발생한 메서드 내에서 직접 처리하는 방법 2. 예외가 발생한 메서드를 호출한 곳으로 예외 객체를 넘겨주는 방법 3. 사용자 정의 예외를 생성하여 처리하는 방법 예외가 발생한 메서드 내에서 직접 처리하는 방법 try { 예외 발생 가능성이 있는 코드 } catch (예외타입01 매개변수명) { 예외타입01의 예외가 발생할 경우 처리 코드 } catch (예외타입02 매개변수명) { 예외타입0..