java

· Dev/JAVA
클래스가 필요한 이유 자바 세상은 클래스와 객체로 이루어져 있다. 그만큼 클래스와 객체라는 개념은 중요하다. 그런데 클래스와 객체는 너무 많은 내용을 포함하고 있어서 한번에 이해하기 쉽지 않다. 여기서는 클래스와 객체라는 개념이 왜 필요한지 부터 시작해서, 클래스가 어떤 방식으로 발전하면서 만들어졌는지 점진적으로 알아보겠다. 먼저 클래스가 왜 필요한지 이해하기 위해 다음 문제를 풀어보자. 문제: 학생 정보 출력 프로그램 만들기 두 명의 학생 정보를 출력하는 프로그램을 작성해야 한다. 각 학생은 이름, 나이, 성적을 가지고 있다. 요구 사항: 첫 번째 학생의 이름은 "학생1", 나이는 15, 성적은 90입니다. 두 번째 학생의 이름은 "학생2", 나이는 16, 성적은 80입니다. 각 학생의 정보를 다음과 ..
Decorator Pattern ( Structural Design Pattern ) 데코레이터 패턴이란? 원하는 기능을 감싸는 데코레이터를 만들어 기능을 추가하는 패턴이다. 기능을 추가하는 데코레이터는 기능을 추가하는 인터페이스로 구현한다. 데코레이터 패턴의 구성요소 Component : 기능이 추가되는 대상이 되는 인터페이스 ConcreteComponent : 기능이 추가되는 대상이 되는 클래스 Decorator : 기능을 추가할 때 사용하는 데코레이터 클래스 ConcreteDecorator : 기능을 추가할 때 사용하는 데코레이터 클래스 Client : 데코레이터 패턴을 사용하는 클래스 데코레이터 패턴의 구조 케이크 (Component) 생크림케이크 (ConcreteComponent) 치즈케이크 (..
Facade Pattern(Structural Design Pattern) 퍼사드 패턴이란 (StageManager) 퍼사드 패턴은 서브시스템을 감싸는 인터페이스를 제공하여 서브시스템을 사용하기 쉽게 만드는 패턴이다. Why? 프로그램이 복잡해지고, 해당 과정들이 엉키는 경우가 있을 수 있다, 이때 이 프로세스 과정을 관리하기위해 실행되는 과정을 인터페이스로 제공하는 패턴이다. 진짜 쉽게 말하면, 실제 프로세스를 단순히 관리하기 위한 패턴이다. 따라서, 퍼사드 패턴을 적용하기 위해서는 프로세스의 과정을 명확 하게 알고 있어야한다. Facade Pattern 구성요소 Facade : 클라이언트가 접근할 수 있는 인터페이스 SubSystem : 실제 서버에 접근하는 클래스 Client : Facade를 통해..
Proxy Pattern (Structural Design Pattern) 프록시 패턴은 클라이언트가 서버에 접근할 때, 중간에 프록시를 두어 클라이언트가 서버에 직접 접근하는 것이 아닌 프록시를 통해 접근하도록 하는 패턴이다. why?? - 클라이언트가 서버에 직접 접근하는 것을 막고 싶을 때 - 클라이언트가 서버에 접근할 때, 중간에 뭔가를 처리하고 싶을 때 - 클라이언트가 서버에 접근할 때, 서버에 접근하기 전에 뭔가를 처리하고 싶을 때 Proxy Pattern 구성요소 Subject : 클라이언트가 접근할 수 있는 인터페이스 RealSubject : 실제 서버에 접근하는 클래스 Proxy : 클라이언트가 접근할 때, 중간에 두는 클래스 Subject 인터페이스를 구현하고, RealSubject를 ..
Adaptor Pattern (Structural Pattern) 아답터 패턴은 Wrapper 패턴이라고도 불린다. Wrapper 패턴은 감싸는 것이라는 의미인데 다른 인터페이스를 감싸서 사용하는 것이다. 어댑터 패턴은 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있게 해준다. 아댑터 패턴 2가지 종류 클래스에 의한 어댑터 상속을 통해 어댑터를 구현 객체에 의한 어댑터 위임을 통해 어댑터를 구현 Adaptor Pattern의 예시 (클래스에 의한 어댑터) class Animal: def walk(self): print("walk") class Cat(Animal): def Walk(self): print("cat walk") class Dog(Animal): def Walk..
Builder Pattern (Creational Pattern) 생성할 프로덕트의 구성요소가 많을때, 생성하는 빌더 클래스를 분리하여, 생성자의 파라미터가 많아졌을때, 가독성을 높이기 위해 사용한다. Builder Pattern의 작동방식 우선 Builder Partten을 사용하기 위해서는 다음과 같은 요소들이 필요하다. Builder 인터페이스 Builder 구현 클래스 생성될 프로덕트 인터페이스 생성될 프로덕트 구현 클래스 Builder Pattern을 사용하기 위해서는 다음과 같은 과정을 거친다. 빌더 패턴은 생성될 프로덕트 객체를 생성하는 과정이 너무 복잡할때 사용하는 패턴이다. 생성하는 과정이 복잡하다 = 생성될 프로덕트의 구성요소가 많다. 라는 의미인데 빌더패턴을 통해서, 생성될 프로덕트 ..
황빵
'java' 태그의 글 목록