분류 전체보기 38

[디자인 패턴] 생성 패턴 - 추상 팩토리

문제 상황RPG 게임을 만드는 개발자가 있습니다. 이때 각 지형 계절별로 생성되는 몬스터가 다르고, 몬스터들의 각 능력치, 행동패턴, 특성이 조금씩 변형이 이루어져야 한다고 가정할 때 몬스터를 생성하는 스포너부터 시작해서, 각 변형된 몬스터들을 전부 정의해야 하는 상황입니다. 문제 해결몬스터를 스폰하는 스포너에서 생성하는 몬스터를 추상화하여, 각 타입에 맞게 나누고, 서브 클래스에서 재정의하여, 몬스터들의 각기 다른 변형(재정의)에 대해 정의하고, 이를 스폰하는 방식으로 구조를 설계해보려고 합니다. 아래와 같은 클래스 다이어그램으로 진행해 보겠습니다. Factory 이를 이용하는 Client 혹은 Manager에서 IMonsterFactory를 참조받습니다.Client에서 CreateZombie, Cr..

C# 2025.10.13

[디자인 패턴] 생성 패턴 - 팩토리 메서드

디자인 패턴의 항목 중 생성 패턴에 대해서 알아보겠습니다. 스터디 계기개발을 진행하다 보면 디자인 패턴에 대해서 많이들 이야기하고 실제 많이 활용하는 경우가 많습니다. 하지만 정확히 알지 못하고 사용하게 된다면, 오히려 독이 될 수 있다고 판단하여, 디자인 패턴 하나씩 알아가 보며, 예제 파일을 만들어 보려고 합니다.문제 상황3D 컨텐츠를 모델링하고, 관리하는 앱을 개발하고 있다고 가정해 보겠습니다. 프로포 타입으로, FBX만 관리하고, 조작하며, 콘텐츠를 제작한다고 가정하고, 추후 확장하기 위해, Obj, Glb를 추가한다고 하였을 때, 새로운 Obj, Glb에 대한 클래스를 기존 프로그램에 추가하는 것은 매우 어렵습니다. 이 문제를 해결하기 위해 아래와같은 팩토리 메서드를 활용해볼 수있습니다.팩토리 ..

C# 2025.10.11

ScriptableObject - 2

이번 게시글에서는 이전 게시글에서 다루었던 ScriptableObject의 사용방법과 생성 방식에 대해서 알아보겠습니다.ScriptableObject이론 사용 방법데이터 컨테이너 클래스 정의 및 ScriptableObject 상속. asset생성 및 데이터 할당데이터 활용데이터 컨테이너 클래스 정의 및 ScriptableObject 상속[CreateAssetMenu(menuName = "Game/Monster")]public class Monster : ScriptableObject{ public float speed; public int MaxHealth;}소스와 같이 클래스를 정의하고, ScriptableObject를 상속합니다. 해당 에셋을 생성할 수 있게, CreateMenu를 정의하고..

Unity 2025.10.10

ScriptableObject - 1

오늘 알아볼 내용은 ScriptableObject의 이론에 대해서 정리해보려고 합니다. ScriptableObject란?Unity 공식 ScriptableObject - Unity 매뉴얼ScriptableObject는 클래스 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너입니다. ScriptableObject의 주요 사용 사례 중 하나는 값의 사본이 생성되는 것을 방지하docs.unity3d.com공식문서의 말을 인용하자면, 클래스와 인스턴스와는 별도로 대량의 데이터를 저장하는 데 사용할 수 있는 데이터 컨테이너입니다. 특징값의 사본이 생성되는 것을 방지하여, 메모리 사용을 감소시킴.런타임에 데이터 컨테이너에 저장해 둔 값을 일괄적으로 변경이 가능.로비씬 -> 게임씬으로..

Unity 2025.10.10

[코딩테스트] 신고 결과 받기

오늘 풀어볼 문제는 프로그래머스의 신고 결과받기라는 문제를 풀어보겠습니다. 신고 결과 받기 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려고 합니다. 문제 조건각 유저는 한 번에 한 명의 유저를 신고할 수 있습니다.한 유저가 여러 번 신고할 수 있지만, 동일 유저의 신고는 1회로 처리됩니다.k번 이상 신고된 유저는 불량 이용자 처리 됩니다.파라미터 정보string [] id_list : 게시판 이용자 리스트string[] report : "신고한 사용자 id 신고받은 사용자 id"의 문자열 리스트int k : 불량이용자 처리되는 신고..

코딩테스트 2025.10.10

[코딩 테스트] 공원 산책

오늘 풀어볼 문제는 프로그래머스의 공원 산책이라는 문제를 풀어보도록 하겠습니다.https://school.programmers.co.kr/learn/courses/30/lessons/172928 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr공원 산책 : 출처 "프로그래머스" 코딩 테스트 문제 문제산책 가능한 격자무늬의 공원 안에서, 산책이 가능한 영역에 대한 정보와, 산책이 이루어진 경로가 주어질 때산책이 이루어진 경로를 전부 수행한 결과의 위치를 찾으시오. 문제 조건지나다니는 길을 'O', 장애물(지나갈수 없는 길) 'X', 시작 위치 'S'로 산책이 가능한 영역에 대한 정보를 전달받습니다.산책이 이루어진 ..

코딩테스트 2025.08.20

[문법] ReadOnlySpan<char> 자료형

int.Parse() [문법] String To int Parser2025.07.10 - [코딩테스트] - [PCCP 기출문제] 1번 / 동영상 재생기 위 코딩 테스트 문제를 풀면서 아쉬웠던 문법들에 대해 알아보는 시간을 가지고자 글을 작성하게 되었습니다. C# 공식문서 문자열을develophyun.tistory.com 이전 String To int Parser 관련하여 정리한 글 안에서 ReadOnlySpan 구조체에 대한 정보를 정리해보려고 합니다. 이름만 보았을 때는 뭔가 ReadOnly에서 읽기 전용이라는 의미를 뜻하고 있습니다. 관련 공식 문서를 아래에 링크해 두도록 하겠습니다. ReadOnlySpan 정의부public readonly ref struct ReadOnlySpan{ pu..

C# 2025.08.12

[문법] IFormatProvider

이전 String To int Parser에 이어지는 내용으로 int.Parse의 파라미터에 있는 IFormatProvider에 대해서 알아보도록 하겠습니다.2025.07.15 - [C#] - [문법] String To int Parser [문법] String To int Parser2025.07.10 - [코딩테스트] - [PCCP 기출문제] 1번 / 동영상 재생기 위 코딩 테스트 문제를 풀면서 아쉬웠던 문법들에 대해 알아보는 시간을 가지고자 글을 작성하게 되었습니다. C# 공식문서 문자열을develophyun.tistory.comIFormatProvider 공식문서 IFormatProvider Interface (System)Provides a mechanism for retrieving an obj..

C# 2025.08.04

[문법] String To int Parser

2025.07.10 - [코딩테스트] - [PCCP 기출문제] 1번 / 동영상 재생기 위 코딩 테스트 문제를 풀면서 아쉬웠던 문법들에 대해 알아보는 시간을 가지고자 글을 작성하게 되었습니다. C# 공식문서 문자열을 숫자로 변환하는 방법 - C#C#에서 Parse, TryParse 또는 Convert 클래스 메서드를 호출하여 문자열을 숫자로 변환하는 방법을 알아봅니다.learn.microsoft.com 기본 문법(Int32.Parse 선언부)public static Int32 Parse(string s, IFormatProvider provider);public static Int32 Parse(string s, NumberStyles style, IFormatProvider provider);public..

C# 2025.07.15

[코딩 테스트] 동영상 재생기

오늘 풀어볼 문제는 PCCP 기출문제로, 동영상 재생기라는 문제를 풀어보겠습니다.https://school.programmers.co.kr/learn/courses/30/lessons/340213 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 동영상 재생기 : 출처 "프로그래머스 코딩 테스트 연습,https://programmers.co.kr/learn/challenges 문제를 정리해 보면 아래와 같은 조건과, 제한 사항 및 매개변수에 대한 설명을 정리할 수 있습니다. 조건기능 3가지prev 명령어 : 재생 위치를 현재 위치에서 10초 전으로 이동. (단, 현재 위치가 0보다 작을 경우 동영상의 처음으로 이동..

코딩테스트 2025.07.10