목록전체 글 (233)
Deff_Dev
⚒️ 프로토타입 패턴이 뭘까 원형이 되는 인스턴스를 사용하여 생성할 객체의 종류를 명시하고, 이렇게 만든 견본을 복사해서 새로운 객체를 생성하는 패턴 → 어떤 객체가 자기와 비슷한 객체를 런타임 중 스폰하는 것 장점객체 생성 비용이 높은 경우 이미 생성된 객체를 복제하여 성능을 개선할 수 있다.런타임에 게임 오브젝트의 상태를 동적으로 변경하고 복제할 수 있다. [예시 코드]더보기public interface IUnit{ IUnit Clone();}public class Unit : MonoBehaviour, IUnit{ public int health; public int attackPower; public float moveSpeed; public IUnit Cl..
문제 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이이 문제는 (s, e) 좌표로 떨어지는 폭격 미사일들을 최소한의 요격 미사일로 막아야하는 문제이다. 문제 설명2차원 공간에서 x축에 평행한 선분으로 표현되는 폭격 미사일들을 최소한의 요격 미사일로 모두 요격해야 한다.요격 미사일은 특정 x 좌표에서 발사되어 해당 좌표를 지나는 모든 폭격 미사일을 동시에 요격할 수 있으며, 이를 통해 모든 폭격 미사일을 요격하는 데 필요한 최소 요격 미사일 수를 구해야 한다.문제 풀이targets의 요소들을 s 축 기준으로 오름 차순 정렬 한다.targets 요소들을 순차적으로 탐색하여 end 변수에 e 값의 최솟값..
⚒️ 옵저버 패턴이 뭘까 어떤 객체의 상태가 변할 때, 그 객체에 의존성을 가진 다른 객체들이 그 변화를 통지 받고 자동으로 업데이트될 수 있게 만드는 패턴 해당 객체 정보를 모르고 있더라도, 변화가 발생하면 등록되어 있는 이벤트들이 전부 다 실행되기 때문에 정말 편리하다. 사용 방법C# 에서는 델리게이트(Action, Func 등)를 이용하여 여러 함수를 구독, 실행시킬 수 있다. [체력 상호작용 예제 코드]더보기using UnityEngine;using System;public class PlayerHealth : MonoBehaviour{ [SerializeField] private int maxHealth = 100; private int currentHealth; // ..
⚒️ 경량 패턴이 뭘까 ? 여러 객체 간에 공통된 상태(intrinsic state)를 공유함으로써 메모리 사용량을 줄이는 패턴 → 동일한 정보를 가진 객체의 개수가 많을 때 사용 사용 방법 ⇒ 객체를 하나 생성하고, 해당 객체를 재사용하여 동일한 다른 객체들을 생성 이때, 하나의 객체의 정보를 가지고 여러 객체들이 공유하기 때문에 const/readonly 로 선언하여 변하지 않게 해야 하는 것이 좋음 [나무 랜덤 생성 예제 코드]더보기using UnityEngine;using System.Collections.Generic;// 나무의 내부 상태를 나타내는 클래스 (공유됨)public class TreeType{ public Mesh mesh; public Material mate..
⚒️ 명령 패턴이 뭘까 ? 명령 패턴은 메서드 호출을 실체화 한 것 이다. 함수 호출을 객체로 감쌌다라는 의미⇒ 콜백을 객체지향적으로 표현 실체화란 ? → 어떤 개념을 변수에 저장하거나 함수에 전달할 수 있도록 객체로 바꿀 수 있다는 걸 의미 특징작업을 캡슐화하여 하나의 명령을 실행기능 실행, 취소 재실행할 때 적합일반적으로 1 대 1 관계하나의 수신자(리시버)에 대해 하나의 명령이 실행 명령 패턴의 좋은 예시리플레이를 구현할 때, 매 프레임마다 전체 게임 상태를 저장해도 되지만 해당 방법은 너무 많은 메모리가 필요하다.그렇기 때문에, 명령 패턴을 사용하여, 전체 개체가 실행하는 명령 모두를 매 프레임마다 저장하여 리플레이할 때는 이전에 저장한 명령들을 순서대로 실행하여 게임을 시뮬레이션한다. [플레이..