Day45 Java프로그래밍 기초(Network)
네트워크 네트워크 기본개념 네트워크의 개념 클라이언트 : UI를 처리하고 업무 처리 로직을 처리하며 해당 업무를 서버에 요청하는 객체 서버 : 데이터를 처리 하고 파일 입출력을 담당 요청에 응답하는 객체 을 기반으로 주제객체의 상태를 옵저버 객체에게 알린다. 옵저버 패턴 만들기 subject interface subject inte...
Decorator 패턴 데코레이터 패턴 데코레이터 패턴의 정의 정의 : 객체에 추가 요소를 동적으로 더하는 기능 상속을 사용하여 객체들을 추가하면 컴파일 단계에서 결정이 되며 기능이 추가 될 수록 코드가 복잡해진다. OCP : Open-Close Principle으로 클래스는 확장에는 열려 있어야 하지만 변경에는 닫혀있어야 한다. 상속...
파일 입출력 1.java.io.File 클래스 File클래스는 디렉토리나 파일을 다룰 때 사용하는 클래스이다. 현재디렉토리 조회 현재디렉토리 조회 ```java public class Test{ public static void main(String[] agrs){ File currentDir = new File("./src/...
JSON 포맷 입출력 1. Gson 라이브러리 정의 구글에서 만든 Json포맷 입출력 라이브러리 기본구조 2. myApp에 적용하기 gradle 설정하기 App에 위치한 gradle.build의 dependencies에 gson 라이브러리를 추가한다. ```gradle { implementation 'com.google.c...
Decorator 설계 패턴 <h2 style="margin-left: 10px;"> 1. Decorator 설계 패턴의 개념</h2> <ul> <li> 객체에 동적으로 새로운 행동(기능)을 추가할 수 있는 패턴이다. 주로 상속 대신 사용되며, 원래 객체를 수정하지 않고도 행동을 확장할...
Stack 리팩토링 - menuPath 1. 기존 스택의 문제점 ```java //기존 menuGroup에서 Stack이 사용되는 소스코드 public MenuGroup(String title) { super(title); this.menuPath = new Stack<>(); } public void se...
메서드 레퍼런스 1. 메소드 레퍼런스의 개념 메서드를 참조해서 매개변수의 정보 및 리턴 타입을 알아내 람다식을 간소화 하는 것을 목적으로 사용한다. 정적 메소드는 클래스 이름 뒤에 ::기호를 붙인다. ```java 클래스::메서드 ``` 인스턴스 메서드는 객체를 생성하여 레퍼런스를 만들고 ::기호를 붙인다. ```java 레퍼런스::메서드 `...
람다 표현식 1.람다식의 개념 1) 함수프로그래밍 함수를 정의하고 이 함수를 데이터 처리부로 보내 데이터를 처리하는 기법이다.. 데이터 처리부는 데이터만 가지고 있으며 처리 방법이 따로 정해지지 않는다. 같은 데이터가 주어지더라도 처리하는 함수에 따라 결과가 달라 질 수 있다. 데이터 처리의 다형성이라고도 볼 수 있다. 2) 람...
Composit Pattern 1.컴포짓 패턴의 개념 1) 정의 객체들의 트리를 구성하여 부분-전체 계층 구조를 나타내는 패턴이다. Component : 공통 인터페이스를 정의하여 단일 객체와 복합 객체가 동일한 방식으로 처리될 수 있도록 한다. Leaf : 트리의 말단 요소로 더이상 하위 요소를 가지지 않는 객체를 나타낸다. Co...