천상나타의 일상다반사

닫기 검색결과 전체 보기

    디자인 패턴 : 팩토리 메서드(Factory Method) 에서 대해서 알아보자.

    IT/JAVA 2023. 4. 19. 15:23
    728x90

    팩토리 메서드 패턴은 부모 클래스에서 인터페이스 등을 통해 추상화하여 지정하고 자식클래스에서 객체 생성코드를 클라인언트로 분리하여 처음 개발시 추가가 될 수 있는 모듈에대해 미리 대비하여 유연성과 확장성을 가지기 위한 패턴입니다.

    즉, 팩토리 메서드는 객체 생성을 담당하는 팩토리 클래스를 정의하고, 이를 사용하여 객체를 생성합니다. 이를 통해 클라이언트 코드는 구체적인 객체 생성 로직을 알 필요 없이 팩토리 클래스에 의존하여 객체를 생성할 수 있습니다.

    public abstract class Animal {
        public abstract String getName();
    }
    
    public class Cat extends Animal {
        @Override
        public String getName() {
            return "Cat";
        }
    }
    
    public class Dog extends Animal {
        @Override
        public String getName() {
            return "Dog";
        }
    }
    
    public interface AnimalFactory {
        public Animal createAnimal();
    }
    
    public class CatFactory implements AnimalFactory {
        @Override
        public Animal createAnimal() {
            return new Cat();
        }
    }
    
    public class DogFactory implements AnimalFactory {
        @Override
        public Animal createAnimal() {
            return new Dog();
        }
    }
    
    public class Main {
        public static void main(String[] args) {
            AnimalFactory catFactory = new CatFactory();
            Animal cat = catFactory.createAnimal();
            System.out.println("I got a " + cat.getName());
    
            AnimalFactory dogFactory = new DogFactory();
            Animal dog = dogFactory.createAnimal();
            System.out.println("I got a " + dog.getName());
        }
    }
    728x90

    'IT > JAVA' 카테고리의 다른 글

    파이썬 GPU CUDA Torch를 이용한 확인  (0) 2023.08.23
    spring에서 특정 프로퍼티가 없으면 빈이 등록되지 않는 어노테이션 - @ConditionalOnProperty  (2) 2023.05.08
    자바 리스트(ArrayList)와 배열(Array)의 차이점 3가지  (0) 2018.06.05
    자바 Map<String,String>을 다른 Map 키값으로 사용한다면  (0) 2018.05.30
    [자바] java method timeout - 메서드 타임 아웃 걸기  (0) 2018.04.17

    'IT/JAVA' 관련 글 more
    • thumbnail
      파이썬 GPU CUDA Torch를 이용한 확인 2023.08.23
    • thumbnail
      spring에서 특정 프로퍼티가 없으면 빈이 등록되지 않는 어노테이션 - @ConditionalOnProperty 2023.05.08
    • thumbnail
      자바 리스트(ArrayList)와 배열(Array)의 차이점 3가지 2018.06.05
    • thumbnail
      자바 Map<String,String>을 다른 Map 키값으로 사용한다면 2018.05.30
    Posted by 천상나타

Google Translate

Naver Neighborhood

    최근...

  • 포스트
  • 댓글
  • 더 보기

글 보관함

«   2025/07   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

카테고리

분류 전체보기 (393)
IT (130)
JAVA (19)
JSP (5)
NoSql (8)
Linux (5)
javaScript (13)
Oracle (7)
MySql (2)
Android (1)
Spring (8)
Server (19)
System (13)
Tool (30)
공부자료(비공개) (0)
일상 (258)
맛집 (69)
해외여행 (31)
국내여행 (21)
우리집 고양이 쪼꼬 (4)
디저트&야식 (49)
영화 후기 (2)
제품리뷰 (5)
추천노래 (3)
취미 (74)
다이어트 (0)
유용한정보 (5)
블로그팁 (4)
지역정보 (1)

카운터

Total
Today
Yesterday
  • 네이버 이웃추가
  • 방명록
천상나타's Blog is powered by daumkakao
Skin info material T Mark 5+ by 뭐하라
favicon

천상나타의 일상다반사

IT정보공유 및 일상다반사

  • 네이버 이웃추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (393)
    • IT (130)
      • JAVA (19)
      • JSP (5)
      • NoSql (8)
      • Linux (5)
      • javaScript (13)
      • Oracle (7)
      • MySql (2)
      • Android (1)
      • Spring (8)
      • Server (19)
      • System (13)
      • Tool (30)
      • 공부자료(비공개) (0)
    • 일상 (258)
      • 맛집 (69)
      • 해외여행 (31)
      • 국내여행 (21)
      • 우리집 고양이 쪼꼬 (4)
      • 디저트&야식 (49)
      • 영화 후기 (2)
      • 제품리뷰 (5)
      • 추천노래 (3)
      • 취미 (74)
      • 다이어트 (0)
    • 유용한정보 (5)
      • 블로그팁 (4)
      • 지역정보 (1)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바