Java (19) 썸네일형 리스트형 람다 표현식 람다 표현식이란 람다 표현식(Lambda Expression)은 Java 8부터 도입된 함수형 프로그래밍 기능 중 하나로 이름이 없는(익명) 함수를 간결하게 표현하는 구문이다. Java 8 이전에는 단일 메소드를 구현하려 해도 반드시 해당 메소드를 포함하는 클래스를 정의해야 했지만, 람다 표현식을 사용하면 불필요한 boilerplate 코드가 크게 줄어들고 함수 자체를 값처럼 전달하거나 변수에 바로 할당할 수 있게 되었다.// 입력 받은 두 정수의 합산 결과를 리턴하는 메소드int add(int x, int y) { return x + y;}// 람다 표현식을 이용해 아래와 같이 단축 가능 (메소드 반환 타입, 메소드 이름 생략 가능)(int x, int y) -> { return x + y;};/.. 함수형 인터페이스 함수형 인터페이스란 자바에서 함수형 인터페이스란 추상 메소드가 1개만 정의된 인터페이스를 의미한다. 이러한 함수형 인터페이스는 java 8 부터 등장했는데 람다 표현식을 이용해 함수형 프로그래밍을 구현하기 위해 등장했다. 하지만 함수의 형태는 매우 다양하다. 함수의 리턴 값이 있을 수도 없을 수도 있고 매개변수가 1개 혹은 2개일 수도 있다. 이러한 형태의 함수를 매번 새롭게 정의해서 사용하는 건 실질적으로 불가능한데 자바의 함수형 인터페이스 표준 API를 사용하면 이러한 문제를 해결할 수 있다. Java 함수형 인터페이스 표준 API 함수형 인터페이스 표준 API는 java.util.function 패키지로 제공된다. 이 패키지 안에 있는 대표적인 인터페이스 종류는 다음과 같다.함수형 인터페이스메소.. 함수형 프로그래밍 프로그래밍 패러다임(Programming Paradigm) 프로그래밍 패러다임이란 코드를 어떻게 구조화 할지 정의하는 방식을 의미한다. 이러한 프로그래밍 패러다임은 그 종류가 매우 다양하나 큰 틀로 나눴을 때는 다음과 같이 두가지로 나뉜다. 1. 명령형(Imperative) 프로그래밍 : 어떻게(How) 처리할지 단계별로 기술하는 방식절차지향 프로그래밍 : 수행되어야 할 순차적인 처리 과정을 포함하는 방식(C, C++)객체지향 프로그래밍 : 객체들의 집합으로 프로그램의 상호작용을 표현(C++, Java, C#)2. 선언형(Declarative) 프로그래밍 : 무엇을(What) 할지 선언하는 방식함수형 프로그래밍 : 자료 처리를 수학적 함수의 계산으로 취급하는 방식(클로저, 하스켈, 리스프) 함수형 프로그.. Java Collection Framework Java Collection Framework(JCF)는 Java에서 데이터를 저장하고 조회·조작하기 위해 제공되는 표준 인터페이스 및 구현체의 집합이다. 이번 글에서는 JCF의 전체 구조와 주요 인터페이스에 대해 알아보고자 한다. Collection Framework의 종류 Collection Framework는 크게 Collection 인터페이스와 Map 인터페이스로 나뉜다. List, Queue, Set 인터페이스는 공통적으로 Collection 인터페이스를 상속하고 있지만 Map 인터페이스는 두개의 데이터를 묶어 한쌍으로 다루기 때문에 Collection 인터페이스와 따로 분리되어 있다. Collection Framework 에 저장할 수 있는 것은 참조 타입(Reference Type)만 가.. Enum enum은 java 5 부터 도입된 참조 타입으로, 서로 관련된 상수 집합을 하나의 타입으로 정의해 타입 안전성과 가독성을 보장하는 특별한 클래스이다.또한 enum은 클래스 인스턴스를 상수로 사용하기 위해 제공되는 특수한 클래스 타입이기도 한데 아래에서는 이러한 enum의 기초 사용법과 작동원리에 대해 알아보고자 한다. 1. Enum 이전의 상수 선언 방법 Java 5 이전의 상수 선언 방법은 다음과 같았다.////////////////////////////// 상수 클래스 선언 방식 //////////////////////////////public class Status { public static final int READY = 0; public static final int RUNN.. Singleton 패턴 Singleton 패턴이란 싱글턴 패턴은 객체의 인스턴스가 오로지 한 개만 생성되도록 설계하는 디자인 패턴을 의미한다. 이는 전역적으로 접근할 수 있는 하나의 객체를 제공하는데 유용하다. 이러한 싱글턴 패턴은 다음과 같은 특징을 갖는다. 1. 유일성싱글턴 클래스는 단 하나의 인스턴스만 생성함 여러 번 인스턴스화를 시도해도 항상 같은 인스턴스를 반환함 2. 전역 접근싱글턴 객체는 전역적으로 접근할 수 있는 방법을 제공한다. 이를 통해 어플리케이션의 다른 부분에서 언제든지 동일한 인스턴스에 접근할 수 있다. Singleton 패턴 구현 방법 자바에서 싱글턴 패턴을 구현하는 방법은 여러가지가 있다. 하지만 여기에서는 권장되는 2가지 방법만 제시할 것이다. (나머지 방법들은 단점이 뚜렷하기 때문) 1. Bi.. SOLID 원칙 SOLID 원칙이란 SOLID 원칙은 객체 지향 프로그래밍과 설계에서 코드의 유지보수성과 확장성을 높이기 위해 제안된 다섯 가지 설계 원칙을 의미한다. 각각의 원칙은 코드의 결합도를 낮추고 응집도를 높이며 코드의 가독성과 재사용성을 높이는 것을 목표로 한다. 1. 단일 책임 원칙 (Single Responsibility Principle, SRP)클래스(객체)는 단 하나의 책임만 가져야 한다는 원칙여기서 책임은 하나의 기능 담당으로 볼 수 있다.즉, 하나의 클래스는 하나의 기능 담당하여 하나의 책임을 수행하는데 집중되도록 클래스를 따로따로 여러 개 설계하라는 원칙 다른 의미로는 클래스가 변경되어야 하는 이유가 단 하나여야 한다는 것을 의미함 사용자의 데이터를 처리하는 로직이 필요하다고 가정하자.사용자 .. 추상 클래스와 인터페이스 추상 클래스란 추상 클래스는 하나 이상의 추상 메소드를 가지고 있는 클래스를 의미한다. 추상 클래스가 가지고 있는 특징은 다음과 같다. 추상 클래스를 선언할 때는 class 앞에 abstract 키워드를 사용한다. 어떠한 클래스가 추상 클래스를 상속하면 추상 클래스에 선언된 추상 메소드를 반드시 구현해야 한다. 추상 클래스는 new 키워드로 인스턴스를 생성할 수 없다. 상속할 때 extends 키워드를 사용하며 다중 상속이 불가능하다. 추상 클래스는 필드를 가질 수 있다. 이러한 필드는 상속받는 자식 클래스에서 사용할 수 있다. 추상 클래스 사용 예시 public abstract class Authenticator { private String authType; public Authentic.. 이전 1 2 3 다음