본문 바로가기
반응형

코딩/알고리즘,디자인패턴8

디자인패턴 - 전략 패턴 전략 패턴이란?동일한 문제를 해결하는 여러 알고리즘을 사용하는 객체가 실행 중에 알고리즘을 바꿀 수 있도록 하는 패턴입니다. 즉, 알고리즘을 객체로 캡슐화하고, 이를 동적으로 교체하는 방식입니다.사실 디자인 패턴이라는 말이 거창하지, 아마 예시만 봐도 아무 생각 없이 이렇게 사용하고 있었을 확률이 높다고 생각되는 패턴입니다.사용 예시대표적인 예시로는 게임에서의 "스킬 시스템"이 있습니다. 게임에서 각기 다른 스킬들을 Skill 클래스를 상속받은 다양한 클래스들로 정의하고, 각 클래스에서 StartSkill() 메서드를 오버라이드하여 스킬의 구체적인 동작을 구현합니다.이후, 스킬을 실행해야 할 상황에서는 Skill 타입의 변수로 정의한 후, StartSkill()을 실행시키면, 실제로 어떤 클래스인지에 따.. 2025. 2. 28.
카드 게임의 안내선 - 베지에 곡선이란? 게임(특히 카드게임)을 하다보면 이런 안내선을 자주 볼 수 있다.보면서 항상 저건 도대체 어떤 방식으로 만든건가... 싶었는데 이번에 카드게임을 만들어 보며 알게된 베지에 곡선을 설명하기 위해 글을 써본다.사실 베지에라는건 코딩을 처음 배울 당시, 옆자리 형이 베지에로 막 멋있게 총알을 발사하는걸 보고 멋있어서 나도 해보려고 나무위키를 슬쩍 봤지만....뭐 이런걸 보고 바로 껏던 기억이 있는데 ㅋㅋㅋㅋㅋㅋ생각보다 너무 쉬워서 나처럼 저거 보고 바로 뒤도는 사람들이 더이상 없길 바라며 글로 남겨보려 한다.참고로 코드도 세줄밖에 없다....베지에 곡선의 탄생 배경이전부터 존재하던 곡선을 그리는 방식이지만, 자동차 제조사 르노사의 기술자인 피에르 베지에가 1962년 자동차 몸체 디자인에 사용하면서부터 널리 알.. 2024. 12. 30.
디자인 패턴 - 컴포넌트 패턴 (Component) 컴포넌트 패턴이란? 각각의 기능을 가지고 있는 부품(Component)들을 추가하며 붙여 조립식으로 사용하는 패턴. 자식-부모 관계의 상속과는 달리, 각각의 부품들끼리 서로 영향을 주지 않아 결합도(커플링)가 없다. 때문에 확장성이 좋아 컴포넌트를 추가/제거하기 편리하다. Ex) 상속 - 그녀가.. 젤나가다 컴포넌트 - 그녀는 젤나가 속성를 가지고 있다. 구현 CreateCom을 통하여 컴포넌트를 생성하면, 일반적으로 오브젝트List에 추가하고, Actor(몸통)을 this로 변경하여 표시한다. 이후 해당 컴포넌트는 Actor의 위치 좌표를 변경하거나, Actor를 삭제하거나 하는 등, Actor를 기준으로 영향을 미치며 작동한다. 사용 예시 내 오토체스 포트폴리오에 사용된 컴포넌트 패턴에 대한 예시이다.. 2022. 6. 26.
디자인 패턴 - 싱글톤(Singleton) 싱글톤(Singleton) 이란? 자기 자신을 static 형식으로 보유하고 있는 클래스로, 객체의 인스턴스가 오직 하나만 생성되는 디자인 패턴이다. 싱글톤의 기본 구조 - C++ 1 2 3 4 5 6 7 8 9 10 11 12 13 public class Singleton { private static Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return instance; } } Colored by Color Scripter cs 템플릿을 활용한 싱글톤 - Unity(C#) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 .. 2022. 6. 26.
반응형