본문 바로가기

IT Knowledge/Design Pattern

(4)
객체 지향 -2. 다형성(상속) - 하나의 코드가 여러 자료형으로 구현되어 실행되는 것 - 같은 코드에서 여러 다른 실행 결과가 나옴 - 정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나 - 다형성을 활용하여 유연하고 확장성있고, 유지보수가 편리한 프로그램을 만들 수 있음. package Basic_Grammar.chap3_OOP.ch03_Polymorphism; public class AnimalTest { public void moveAnimal(Animal animal){ animal.move(); } public static void main(String[] args) { Animal hAnimal=new Human(); Animal tAnimal=new Tiger(); Animal eAnimal=new Ea..
디자인 패턴3-Abstract Factory 여러 제품 군을 한꺼번에 생성하는 패턴으로 어떤 일을 할지 틀이 있고(인터페이스이용) 인스턴스 set들을 만드는 공장 ex) DB 만 바뀌면 여러가지 DAO 인스턴스 set들이 한꺼번에 replace되는 것 (DAO를 생산하는 Factory가 따로 있어 OracleDAO, MysqlDAO, MSDAO 따로 생성 가능) https://github.com/RoarinGom/JavaStudy/tree/main/JavaStudy/src/Design_Pattern/Pattern03_AbstractFactory
디자인 패턴2-Prototype : 복제해서 인스턴스를 만드는 패턴 (클래스의 인스턴스 생성과정이 복잡하거나 여러조합에 의해 생성되어야하는 경우 prototype을 만들어 초기화 해두고 이를 복제하여 객체를 생성하는 방법) - 자바의 clone 메서드 이용 Cloneable implements해주어야 clone메서드를 이용할 수 있다. package Design_Pattern.Pattern02_Prototype; public class Book { private String bookName; private String bookWriter; public Book() { } public Book(String bookName, String bookWriter) { this.bookName = bookName; this.bookWriter =..
디자인 패턴1-Singleton 설명 : 클래스의 인스턴스는 오직 하나임을 보장하며 이 인스턴스에 접근할 수 있는 방법을 제공하는 패턴 ex) 아래의 예시, Calendar 객체를 받을 때 Calendar.getInstance()로 받아서 쓴다. package Design_Pattern.Pattern01_Singleton; public class ConnectionPool { private static ConnectionPool instance=new ConnectionPool(); //ConeectionPool을 못 만들도록 하기 위해 private 생성자 생성(외부에서 객체생성하지 못하도록) private ConnectionPool() {} //객체를 가져갈 수 있는 getInstance() 함수 생성 public static Co..