작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴 전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된 메서드의 코드 중복을 최소화 할 때 유용하다. 다른 관점에서 보면 동일한 기능을 상위 클래스에서 정의하면서 확장/변화가 필요한 부분만 서브 클래스에서 구현할 수 있도록 한다. - 상위 클래스에서는 공통적, 하위 클래스에서는 다양하게 코딩을 한다. 즉, 확장적이고 공통적인건 상위 클래스에서 정의하고 그렇지 않은 것은 imterface로 하위 클래스에서 정의 - Abstract class --> Concrete class 템플릿 메소드 package designPattern.TemplateMethod; public ab..
전체 글
추상팩토리- 생산적인 디자인 패턴 중 하나로써 좀 더 factory를 좀 더 생산적으로 만들어 낼 수 있다는 점외에는 factory pattern과 매우 비슷 -인터페이스 보다는 구조체에 접근할 수 있는 코드를 제공한다.-확장에 매우 용의한 패턴으로 쉽게 다른 서브 클래스들을 확장할 수 있다.-기존 팩토리 패턴의 if-else 로직에서 벗어날 수 있게 해준다. package designPattern.abstractFactory;public class Computer extends Product { private String name; private int price; public Computer (String name, int price) { this.name = na..
더보기web -> cloud / MSA 상속 ... extendssuper 클래스는 sub 클래스보다 큰 개념이며 공통된 부분을 가지고 있다.확장성, 재사용성을 고려해서 상속, 설계를 진행 is a .. 점점 구체화 / has a .. 독립된 걸 필요에 따라 / 관리클래스 메소드 필요.. 재가공 호출 시 생성자가 필요.. 생성자에는 default super() 항상 존재http://webcache.googleusercontent.com/search?q=cache:ljwYPOSsIhcJ:m.blog.naver.com%2Fdlaxodud2388%2F221958843956&cd=1&hl=ko&ct=clnk&gl=kr 추상클래스 .. 추상메소드 1개 이상 = 강제성 발생... 자식메소드에게 강제성으로 고유의 기..
더보기복습클래스 : 행동과 data 의 집합필드 > 지속적으로 사용할 경우데이터의 보호, 캡슐화 ... 허용되는 범위 내에서만 사용할 수 있는 권한 부여 = private 인스턴스 객체당 하나씩 생기는 공간 > 객체 생성 시 사용 가능 static : 모든 객체가 공유스태틱은 생성자 불가생성자기본생성자 = 객체 등록메소드 > 내/외부를 연결시키는 목적 final : 마지막, 바꿀 수 없다.. => 상수화field :MAX : 상수 = 모든 글자를 대문자로 쓸 때 final int MAX = 100; ( 값 변경 불가이므로, 선언과 동시에 초기화 필수)상수는 언제나 같은 값, 바꾸는 값이므로 static 을 붙여준다. > final static 상수classfinal class ≠ is a 관계 (상속)..
객체의 인스턴스가 오직 1개만 생성되도록 하는 패턴 생성자는 외부에서 호출이 불가하도록 private 으로 지정한다. > 인스턴스를 오직 한개로만 가져감으로써 메모리 측면에서의 장점최초 한번의 new 연산자를 통해 고정된 메모리 영역을 사용하기에 메모리 낭비를 방지한다.이미 생성된 인스턴스를 활용함으로 속도에도 이점이 있다. > 클래스 간 데이터 공유가 쉽다싱글톤의 인스턴스는 전역으로 사용되기에 다른 클래스의 인스턴스들이 접근해 사용이 가능하다.하지만 여러 클래스 인스턴스에서 싱글톤 인스턴스에 동시에 접근할 경우 동시성 문제 발생 가능 유의구현 코드가 많이 필요?자원을 공유하기에 테스트가 어렵다 >테스트가 격리된 환경에서 후행되면 매번 인스턴스 상태를 초기화 해줘야 함그렇지 않으면 전역에서 상태르 ㄹ..
더보기230106_3일차 교육- 건강관리- 영어는 하기 싫음 // Opic- D.I 의존성 주입 https://danmilife.tistory.com/20 객체의 확장 객체 object 들이 모여서 하나의 객체가 만들어진다 클래스의 구성요소field : 멤버변수클래스 내에서 지속적으로 사용되어지는 데이터여러 클래스에서 계속 사용되어야 하는 데이터함수 내에서만 일회성으로 쓰이는 데이터 > 지역변수접근지정자 : private 보통 사용 >> public : X construct : 생성자 목적 : 객체 생성 시 필드의 초기화 (멤버변수 초기화 == setter)사용자 기준(명시적으로 만들어서 사용) + 객체 등록디폴트 기준 => 객체 등록default 생성자는 명시적으로 생성자를 제공하지 않을 경우명시적..