본문 바로가기

CS/디자인 패턴

(2)
[디자인 패턴] 팩토리 패턴에 대해 알아보기 (Swift) 1. 팩토리 패턴이란? 객체 생성 부분을 따로 두어 추상화하고, 인스턴스를 생성할 클래스를 서브클래스에서 결정하는 패턴입니다. 맨처음 말로만 들었을 때, 잘 이해가 가지 않았습니다. 예를들어, 내가 햄버거 가게를 오픈을 했는데 처음에는 불고기버거만 만들줄 알았다고 가정해봅시다. 그렇다면 불고기 버거 인스턴스를 만들 class를 선언을 해야합니다. 이제 버거 기술이 발전해서 새우버거랑 치킨버거도 만들 수 있게 되었습니다. 그렇다면 새우버거, 치킨버거 class도 선언을 해주어서 인스턴스를 생성해주어야겠네요. 이러한 버거들을 (인스턴스) 불고기버거, 새우버거, 치킨버거를 생성하는 것을 서브클래스에서 결정을 해주는게 팩토리 패턴입니다. 이 인스턴스를 생성하는 것을 팩토리 클래스에서 생성하여 반환하게 됩니다. ..
[디자인 패턴] 싱글톤 패턴에 대해 알아보기 (Swift) 1. 싱글톤 패턴이란? 하나의 클래스에 오직 하나의 인스턴스를 갖는 디자인 패턴입니다. Dog라는 클래스를 하나 만들고, 인스턴스를 생성해주었습니다. dog1과 같은 인스턴스를 참조하기 위해 dog2라는 변수를 두었고, 참조가 같은지 확인하였습니다. dog2의 name도 변경해보고 dog1의 name이 변경되었는지 확인을 해보았습니다. 같은 인스턴스에 접근을 하고있다는 것을 확인할 수 있습니다. Dog 클래스를 통해 인스턴스를 하나 더 생성을 하고 dog3라는 변수로 두었습니다. 당연하게도 dog3는 dog1과 dog2와는 다른 인스턴스 일 것입니다. 싱글톤 패턴을 사용하면 하나의 클래스에 오직 하나의 인스턴스를 갖기 때문에 Dog 클래스로 생성한 인스턴스는 다 같은 인스턴스가 될 것입니다. Swift에..