전체 글 35

디자인패턴 싱글톤

디자인패턴 : 싱글톤단 한개의 객체만 존재하며 여러 오브젝트가 접근을 해야 하는 스크립트의 역할을 한다.새로운 씬을 로드하게 되면 기존것들이 파괴되게 되는데 싱글톤을 사용하면 씬 로드시 데이터가 파괴되지 않고 유지된다. using System;using System.Collections;using System.Collections.Generic;using UnityEngine;// 씬 내에 오브젝트를 바인딩 하지 않는 구조이면서// 데이터를 다른 씬으로 넘어가도 누적되서 사용해야 하거나// 씬 로드와는 상관없이 사용해야 하는 경우에서// DontDesrtoyOnLoad를 통해서 삭제되지 않게 한다.public class Singleton_immortal : MonoBehaviour{ private ..

파일 입출력

저장매체에 데이터를 저장하고 불러오는 역할을 하며 클래스는 System.IO 네임스페이스에 포함되어 있다.파일의 경로 지정 방법상대적 경로string filePath = "example.txt";절대적 경로string filePath = "C:\\example.txt"; \를 사용하여 경로를 지정할 경우 이스케이프 문자로 인식되므로 \\로 써야한다.string filePath = "C:/example.txt";  /는 C#에서도 사용 가능하지만 주로 UNIX 기반 시스템에서 사용된다.string filePath = @"C:\example.txt"; 맨 앞에 @를 붙이면 \를 두번씩 쓸 필요가 없어진다.유니티에서의 파일 입출력을 활용한 예시 작성

개인 공부/C# 2024.07.12

디자인패턴 프로토타입

정의프로토타입 패턴은 객체를 복제하는 디자인 패턴이다. 주로 객체를 생성하는 비용이 크거나 복잡한 경우에 유용하게 사용된다. 이 패턴은 기존 객체를 복제하여 새로운 객체를 생성하는 방식으로 동작한다.장점 객체 생성 비용 감소: 복잡한 객체 생성 과정을 단순화하여 객체 생성 비용을 감소시킬 수 있다.유연성 증가: 클라이언트에서 객체를 복제하고 필요에 따라 수정할 수 있어 유연성이 높다. 유니티에서 활용해보자.using System.Collections;using System.Collections.Generic;using UnityEngine;public class ProtoType_EX : MonoBehaviour{ public int a = 10; public int b = 10; pub..

디자인패턴 빌더

정의복잡한 인스턴스를 조립해서 만드는 구조복합 객체를 생성할 때 객체를 생성하는 방법과 객체를 구현하는 방법을 분리함으로써 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있음생성과 표기를 분리해서 복잡한 객체를 생성유니티에서 예를 들어보자using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class NoBuilderData{ public int a; public int b; public int c; public int d; public int e; public void Print() { Debug.Log($"a : {a} ..

디자인패턴 추상팩토리

새로운 인스턴스를 만들때 new()를 사용한다. 만약 중간에 추가할 사항이나 수정사항이 있을때 메인에서 new를 해버리게 되면 일일이 고쳐줘야 해서 효율이 떨어진다.추상팩토리 패턴은 관련있는 객체들을 묶어 추상화하고(인스턴스 생성 기능) 필요한 상황이 주어지면 객체들을 구현화 하는 생성패턴이다. 유니티에서 간단하게 사용해보기using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class UnitySimpleShapeFactory{ public static GameObject getShapeInstance(string typeString) { GameObject pr..