Java

A a = new B();
작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴 전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된 메서드의 코드 중복을 최소화 할 때 유용하다. 다른 관점에서 보면 동일한 기능을 상위 클래스에서 정의하면서 확장/변화가 필요한 부분만 서브 클래스에서 구현할 수 있도록 한다. - 상위 클래스에서는 공통적, 하위 클래스에서는 다양하게 코딩을 한다. 즉, 확장적이고 공통적인건 상위 클래스에서 정의하고 그렇지 않은 것은 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..
객체의 인스턴스가 오직 1개만 생성되도록 하는 패턴 생성자는 외부에서 호출이 불가하도록 private 으로 지정한다.  > 인스턴스를 오직 한개로만 가져감으로써  메모리 측면에서의 장점최초 한번의 new 연산자를 통해 고정된 메모리 영역을 사용하기에 메모리 낭비를 방지한다.이미 생성된 인스턴스를 활용함으로 속도에도 이점이 있다. > 클래스 간 데이터 공유가 쉽다싱글톤의 인스턴스는 전역으로 사용되기에 다른 클래스의 인스턴스들이 접근해 사용이 가능하다.하지만 여러 클래스 인스턴스에서 싱글톤 인스턴스에 동시에 접근할 경우 동시성 문제 발생 가능 유의구현 코드가 많이 필요?자원을 공유하기에 테스트가 어렵다 >테스트가 격리된 환경에서 후행되면 매번 인스턴스 상태를 초기화 해줘야 함그렇지 않으면 전역에서 상태르 ㄹ..
인스턴스 변수 클래스 영역에 선언, 클래스의 인스턴스를 생성할 때  독립적 저장공간을 가지는 인스턴스.,. 서로 다른 값 가질 수 있음인스턴스마다 고유한 상태를 유지해야 하는 속성   클래스 변수 전역변수 ??? > 인스턴스 변수 앞에 static  한 클래스의 인스턴스들이 공통값을 가져야 할 떄  인스턴스 생성 없이 언제든 사용 가능  클래스 이름. 클래스변수  프로그램 종료시 까지 사용 가능... public 붙이면 전역변수, 어디서든 접근 지역변수 메서드 내 선언, 메서드 내에서만 사용 가능, 종료 시 소멸 for, while 등에서 블럭 내의 변수는 블럭 {} 내에서만!  더보기매개변수 = 메소드 한테 넘겨주는 변수 지역변수 = 메소드 내부의 변수  인스턴스 변수 = 메소드 밖의 클래스 내의 변수..
클래스 : 객체를 정의해 놓은 것 > 객체 생성 시 사용 객체 : 실제로 존재하는 것 > 객체의 기능 속성에 따라 다른 용도 인스턴스화 : 클래스로부터 객체를 만드는 과정 인스턴스 : 클래스로부터 만들어진 객체 = 클래스의 인스턴스 객체 > 속성 & 기능 속성 : 멤버변수, 특성, 필드, 상태 기능 : 메서드, 함수, 행위 ex) 인스턴스의 생성과 사용 package Test; public class Test { /* * 클래스 : 객체를 정의해 놓은 것 > 객체 생성 시 사용 * * 객체 : 실제로 존재하는 것 > 객체의 기능 속성에 따라 다른 용도 * * 인스턴스화 : 클래스로부터 객체를 만드는 과정 인스턴스 : 클래스로부터 만들어진 객체 = 클래스의 인스턴스 * * 객체 > 속성 & 기능 속성 : ..
keartt
'Java' 카테고리의 글 목록 (2 Page)