일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 넘파이 배열
- NumPy
- 넘파이 기초
- 코드트리
- 데이터 마이닝
- 클러스터링
- java
- 머신러닝
- cpp
- 기계학습
- ack
- 네트워크 기초
- lambda
- 디자인 패턴
- Machine Learning
- numpy 기초
- Design Pattern
- 코딩테스트
- cpp class
- 코딩테스트실력진단
- OOP
- 차원축소
- python
- 자바
- 파이썬
- 넘파이
- 데이터 분석
- 합성곱 신경망
- 코테
- c++
- Today
- Total
목록java (9)
준비하는 대학생
퍼사드 패턴이란? 퍼사드(Facade)는 건물의 정면을 의미하는 단어로, 여기서는 복잡한 시스템의 '앞면'이라는 의미로 사용됩니다. 퍼사드 패턴은 클라이언트와 복잡한 시스템 사이에 간편한 인터페이스를 제공하는 구조적 패턴입니다. 이렇게 하면 복잡한 시스템을 더욱 단순하게 보이게 만들어, 클라이언트가 시스템을 쉽게 이해하고 사용할 수 있게 합니다. 퍼사드 패턴의 구조 퍼사드 패턴은 다음 세 가지 주요 구성 요소로 이루어져 있습니다. 퍼사드(Facade): 클라이언트에게 간편한 인터페이스를 제공합니다. 내부 시스템의 기능을 단순화된 메소드로 제공하며, 이를 통해 클라이언트가 시스템에 접근할 수 있게 합니다. 시스템 클래스(System Classes): 시스템의 복잡한 기능을 담당하는 클래스들입니다. 이 클래..
Command Pattern이란? Command Pattern은 행동(behavioral) 디자인 패턴 중 하나로, 요청 자체를 객체화 하는 것을 목표로 합니다. 이 패턴은 요청이 서로 다른 사용자, 시간 또는 프로젝트에 따라 달라질 수 있을 때 유용합니다. 이러한 요청을 객체로 만들면, 요청을 큐에 저장하거나 로그로 기록하고 재실행할 수 있습니다. Command Pattern의 구조 Command Pattern에는 다음과 같은 4가지 주요 요소가 있습니다. Command: 이 인터페이스는 execute() 메서드를 선언하여 Receiver에서 수행할 연산을 구체화하는 방법을 정의합니다. ConcreteCommand: Command 인터페이스를 구현하고, 이를 통해 Receiver 클래스의 함수를 호출합..
Singleton 패턴이란? Singleton 패턴은 객체 지향 프로그래밍에서 주로 사용되는 디자인 패턴 중 하나입니다. Singleton 패턴은 클래스의 특정 인스턴스가 한 개만 만들어지도록 보장하고, 그 인스턴스에 쉽게 접근할 수 있는 글로벌한 접근점을 제공합니다. 이를 통해 다른 객체들이 데이터를 공유할 수 있게 하며, 자원의 효율적인 관리를 할 수 있습니다. 고전적인 Singleton 패턴 싱글턴 패턴은 특정 클래스의 인스턴스가 하나만 생성되도록 보장하고, 이 인스턴스에 전역적으로 접근할 수 있게 하는 디자인 패턴입니다. 이를 사용하면 여러 객체들이 데이터를 공유할 수 있게 만들 수 있습니다. Java로 Singleton 패턴을 구현하는 고전적인 방법은 다음과 같습니다. public class S..
람다 표현식이란? 람다 표현식은 간단한 함수를 익명 클래스의 인스턴스 대신 표현하는 데 사용되는 간결한 문법입니다. 람다 표현식은 인터페이스를 구현하는 방식으로 작동하며, 이 인터페이스에는 단 하나의 추상 메서드가 있어야 합니다. 이러한 인터페이스를 함수형 인터페이스라고 부릅니다. 람다 표현식의 문법 람다 표현식의 기본 문법은 다음과 같습니다. (parameters) -> expression 또는 (parameters) -> { statements; } parameters: 함수의 매개변수를 정의합니다. 괄호 안에 매개변수를 정의하며, 여러 개의 매개변수가 있을 경우 쉼표로 구분합니다. 매개변수의 타입을 명시할 수도 있지만, 대부분의 경우 자바 컴파일러가 유추할 수 있습니다. >: 화살표 기호는 매개변수..
Enum이란? Enum은 열거형이라고도 불리며, 여러 개의 상수 값을 갖는 특별한 데이터 타입입니다. Enum을 사용하면 코드의 가독성을 높이고, 값의 범위를 제한하여 오류를 줄일 수 있습니다. 예를 들어, 사계절을 나타내는 Season이라는 Enum을 생성한다고 가정해 봅시다. 일반적인 상수 정의를 사용하는 경우 다음과 같이 작성할 수 있습니다. public static final int SPRING = 0; public static final int SUMMER = 1; public static final int FALL = 2; public static final int WINTER = 3; 그러나 이 방법은 여러 가지 문제점이 있습니다. 예를 들어, 정수 타입이기 때문에 0~3 이외의 값도 할당될..
데코레이터 패턴(Decorator Pattern)은 객체지향 프로그래밍에서 객체의 기능을 동적으로 추가하거나 변경할 수 있는 디자인 패턴입니다. 데코레이터 패턴은 런타임 시에 객체에 새로운 기능을 추가하거나 기존 기능을 변경하는 데 사용되며, 코드의 수정 없이도 객체의 행위를 변경할 수 있습니다. 1. 데코레이터 패턴의 구조 데코레이터 패턴은 다음과 같은 구성 요소로 이루어져 있습니다: Component: 인터페이스 또는 추상 클래스로, 모든 객체가 구현해야 하는 공통의 기능을 정의합니다. ConcreteComponent: Component를 구현하는 실제 객체로, 기본 기능을 제공합니다. Decorator: Component를 구현하는 추상 클래스로, ConcreteComponent에 추가 기능을 제공..
Observer Pattern 개요 Observer Pattern은 객체 간에 일대다 관계를 정의하는 디자인 패턴 중 하나입니다. 이 패턴은 객체들 사이에 느슨한 결합을 제공하며, 객체의 상태 변화에 대한 다른 객체들의 자동 업데이트를 가능하게 합니다. Observer Pattern은 Subject(주체)와 Observer(관찰자)로 구성됩니다. Subject 객체는 상태를 가지며, 상태가 변경되었을 때 Observer들에게 알림을 보냅니다. Observer 객체는 Subject 객체의 상태를 관찰하며, 상태가 변경될 때마다 업데이트를 받습니다. Observer 패턴은 다음과 같은 구성 요소로 이루어져 있습니다. Subject: Observer 객체들을 관리하는 객체로, Observer를 추가, 제거, ..
Strategy pattern 이란? Strategy pattern은 객체지향 디자인 패턴 중 하나로, 동일한 문제를 해결하는 여러 알고리즘 중에서 필요에 따라 적합한 알고리즘을 선택하여 사용할 수 있도록 하는 패턴입니다. 이 패턴을 사용하면 알고리즘과 클라이언트 코드가 독립적으로 변화할 수 있으며, 새로운 알고리즘을 추가하거나 기존 알고리즘을 변경하더라도 클라이언트 코드를 수정하지 않아도 되는 장점이 있습니다. Strategy pattern 구현 방법 Strategy pattern을 구현하는 방법은 다음과 같습니다. 알고리즘을 캡슐화한 인터페이스를 정의합니다. 각각의 알고리즘을 구현하는 클래스를 작성합니다. 클라이언트 코드에서 필요에 따라 적절한 알고리즘을 선택하여 사용합니다. 자바 예시 코드 예를 들..