'객체지향' 태그의 글 목록 (8 Page)
본문 바로가기
728x90
반응형

객체지향40

2021.12.07_어댑터패턴01.패턴소개 어댑터 패턴은 일상생활에서 쉽게 찾아볼 수 있음 110v 를 220v에 꽂는다던가 반대로 꽂는 경우에 쓰는 어댑터(돼지코) 어댑터패턴과 가장 유사함 소프트웨어적으로 클라이언트가 사용하는 인터페이스가 전혀 다름 벽에 있는것이 110v인데 한국에서 가져온 전자기기가 220v인경우 호환되는것이면 좋겠지만 그사이에 볼트 전압 변경해주는 변압기를 사용해야함 인터페이스가 다르다고 생각하면됨 서로 맞지 않는 코드를 맞게 하는 어댑터를 만들어서 사용하는 것 재사용이 가능하고 인터페이스 다르더라도 같이 사용할 수 있게 함 구성요소 클라이언트 항상 타켓인터페이스 기반으로 작성 인터페이스만 사용 어댑티 우리가 사용하는 구현체라는 클래스 클라이언트와 어댑티 사이에 있는 어댑터를 구현할 예정 코드 파일 구성 security 패.. 2021. 12. 7.
2021.12.04_프로토타입패턴03.장점과단점 기존에 사용하는 인스턴스를 새로운 인스턴스로 만드는 방법 이때, 프로토 타입 인터페이스의 clone을 만들어서 사용하면됨 자바인 경우 직접 구현할 필요는 없지만 그기능을 쓰면됨 인터페이스 만들어서 직접 구현하면됨 장점 복잡한 객체를 만드는 과정을 클론이라는메소드 안에 숨겨놓고 사용할 수 있음 그 과정에서 객체를 복제하거나 만드는 것이 새 인스턴스를 만드는 것보다 비용(시간 또는 메모리)적인 면에서 효율적일 수 있음 추상적인 타입을 리턴할 수 있음 클론에서 리턴하는 object타입은 해당 클래스와 동일할 필요없음 클래스간의 계층 구조가 있을때 추상하게 만들수 있어서 유연함 단점 동일한 객체를 만들어야할때, 복잡한 객체를 만드는 과정 자체가 복잡할 수 있음 특히, 순환 참조가 있는 경우 https://git.. 2021. 12. 4.
2021.12.04_프로토타입패턴02.패턴적용하기 이전과는 다르게 , 자바에서 사용하는 기능으로 사용함 다음에 커스텀하는 방법까지 배울 예정 clone은 public에 없어서 바로는 안됨 object에 있음 쓸 수 없는것이 protected 이기 때문에 clone을 지원하고 싶은 클래스가 있으면 implement Cloneable 선언해준다. @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); } super.clone();으로 해서 보내줘도됨 Clone(); 사용전 준비 public static void main(String[] args) throws CloneNotSupportedException{ 위와 같이 throws CloneNotS.. 2021. 12. 4.
2021.12.02_프로토타입패턴01.패턴소개 기존 인스턴스를 복제하여 새로운 인스턴스를 만드는 방법 기존 객체응용해서 새로운 객체 만들때 데이터 베이스 읽어와서 네트워크 http를 기반으로 만들어야한다면 그 인스턴스 만들때 마다 오래 걸리고 리소스를 많이 사용함 다 복사해서 새로운 인스턴스 만들어서 일부분만 고쳐쓴다면 더 빠르게 사용가능함 구현이 없는 clone()이라는 매소드를 복제기능을 제공할 클래스들이 해당 클래스 구현할 수 있게하는것 GithubRepository.java package me.whiteship.designpatterns._01_creational_patterns._05_prototype._01_before; public class GithubRepository { private String user; private Strin.. 2021. 12. 4.
728x90
반응형