학교 공부 13

[디자인패턴] factory method 패턴

public class Home { public Apple getAppleForBreakFast(String kind){ Apple apple = null; if(kind.equals("busa")) apple = new Busa(); if(kind.equals("hongok")) apple = new Hongok(); apple.wash(); return apple; } } // new 구체적인 클래스이름(); // hongok을 쓰고 싶으면 new Hongok(); 해줘야 한다.(변경 되어야 함) // -> 필요로 하는 인스턴스를 직접 만들어 사용하기 때문에 // 객체를 생성하는 부분이 계속 변경되어야 함. public abstract class Apple { public abstract void w..

학교 공부 2021.11.18

[디자인패턴] decorator 패턴

데코레이터 패턴은 기본 기능에 추가될 수 있는 많은 수의 부가 기능 에 대해서 다양한 조합을 동적으로 구현할 수 있는 패턴이다. 어떤 자동차 판매회사에서 Hansung의 자동차를 팔고 여기에 옵션(ACC, TPMS ..)을 추가 할 때 추가된 옵션을 고려하여 자동차의 가격 계산을 용이하게 만들 수 있게 하려고 한다. ->decorator 패턴을 사용 Car.java public abstract class Car { public abstract int cost(); } CarDecorator.java public abstract class CarDecorator extends Car{ private Car decoratedCar; public CarDecorator(Car decoratedCar) { th..

학교 공부 2021.11.02

[Spring] Dependency Injection(의존성 주입) 이란?

https://medium.com/analytics-vidhya/dependency-injection-concept-ofspring-framework-d9c3688005f8 Dependency Injection: Concept of Spring Framework Spring framework came into limelight when a book named J2EE Development Without EJB by Rod Johnson was released in 2002. The author with… medium.com DI란? DI란 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 다이나믹하게 ..

학교 공부 2021.10.06

설계패턴 6주차 실강- ocp만족하게 하기

cartforsong- opc 만족안함 할인모드가 추가할때 코드를 변경해야한다. 1.무엇이 변화되는지 식별하라- 이 예제에서는 할인모드가 변화될수있다. 2.변화가 되는것을 클래스로 모델링하라. 클래스-변화의 기본 단위이다. 이 예제에서는 할인모드가 문자로 구분한다.(if문 사용) 클래스를 사용하지 않았다. 3.변화되는 것을 총괄하는 개념(할인모드-추상클래스)을 만들어라.

학교 공부 2021.09.27

프레임워크 vs 라이브러리 차이점

라이브러리와 프레임워크의 차이점은 코드 제어권이 개발자에게 있는지, 아닌지이다. 라이브러리 소프트웨어를 개발하기 쉽게 기능을 제공하는 도구들이다. 클래스의 집합으로서 코드의 재사용성을 지원한다. (ex: math) 제어의 주체는 개발자로, 코드에서 필요할때마다 라이브러리(객체, 함수)를 직접 호출한다. 현실에서의 도서관에서 책을 필요할때마다 꺼내보는 것과 같다. 어플리케이션에서 하나의 기능이라고 볼 수 있다. 프레임워크 특정 프로그램을 개발하기 위한 여러 요소들과 메뉴얼인 룰을 제공하는 프로그램이다. 제어의 주체는 프레임워크이다. 프레임워크에서 개발자의 코드를 호출한다.(제어의 역전: Inversion of Control) 프레임워크에서 기본적인 골격을 잡아놓았기 때문에 개발자가 제어의 흐름에 맞게 코드..

학교 공부 2021.09.13

[네트워크] TCP/IP 프로토콜

IP 주소 네트워크 환경에서 컴퓨터(노드)간 통신하기 위해 각 컴퓨터에 부여된 네트워크 상 주소 - 인터넷 프로토콜(IP) 경로에서 사용되는 주소 - 3번째 계층인 네트워크 계층에서 사용되는 주소 일반 사용자가 상위 계층(DNS)에게 데이터를 요청하려면 DNS 이름 확인(서비스 요청)을 요구해야한다. 그 이름에 대한 IP주소를 넘겨 받고 그 IP에 대해서 데이터 통신이 이루어진다. 그 때 비로소 네트워크 계층이 IP 계층이 된다. DNS DNS란 Domain Name System의 약자이다. 숫자 형식으로 된 ip주소는 사람이 기억하기 힘들어 도메인이 나타나게 되었다. 도메인이란, www.naver.com 처럼 숫자형태의 ip주소를 이름으로 바꾼것이다. DNS는 호스트의 도메인 이름을 호스트의 네트워크 ..

학교 공부 2021.09.05

[네트워크] 통신 기초- OSI 7계층 모델, 프로토콜, 라우터

통신 기초 OSI 7계층 모델 1. 물리 계층 전송매체(유선, 무선), 데이터 전송 속도, 클록 동기화 방법, 물리적 연결 형태 등 전송매체를 통해 전기적인 신호를 만들어냄 2. 데이터 링크 계층 1:1 통신 물리 계층의 물리적 전송 오류 문제를 해결 프레임: 전송 데이터의 명칭 3. 네트워크 계층 데이터의 전송 경로를 결정(Routing) 호스트 구분을 위한 주소 개념 필요 (예: IP주소(논리주소)) 패킷: 전송 데이터의 명칭 혼잡 제어: 데이터 전송 경로의 선택에 따라 네트워크 혼잡에 영향을 미침 4. 전송 계층 송수신 프로세스 사이의 단대단 통신 기능을 지원 프로세스 구분을 위한 주소 개념 필요 (예: 포트 번호) 5. 세션 계층 송수신자 사이에 상위적 연결 개념인 세션을 지원 (로그인, 로그아웃..

학교 공부 2021.09.04