자바
-
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 2021. 10. 29. 21:09
개요 Java란? - 프로그래밍 언어 - 컴퓨터 프로그램(애플리케이션)을 만드는 데 사용 - 실행환경(JRE) + 실행 도구(JDK) + 라이브러리(API)로 구성 - 쉽고 빠르게 애플리케이션 개발 가능 ※ 실행환경(JRE) : 클래스 라이브러리 등 특정 Java 프로그램이 실행할 수 있는 환경을 제공 ※ 실행 도구(JDK) : Java를 사용하기 위해 필요한 모든 기능을 갖춘 자바용 SDK ※ 라이브러리(API) : 프로그램을 개발하는데 필요한 기능들을 미리 만들어 놓은 것 Java의 탄생 배경 - Java는 썬 마이크로시스템즈의 제임스 고슬링이라는 사람과 다른 연구원들이 개발한 프로그래밍 언어로써, 1991년 그린 프로젝트라는 이름으로 시작해 1995년에 발표가 되었다. - 제임스 고슬링은 가전제품 ..