분류 전체보기 98

디자인 패턴에 대해 알아보자#2 싱글톤 패턴(feat. 유니티)

오늘은 싱글톤 패턴에 대해 알아보겠습니다.유니티를 배우면서 싱글톤 패턴을 사용했다/하라는 이야기는 자주 들었는데, 조금 더 구체적으로 어떤 상황에서어떻게 사용해야 하는 건지 정리해 봤습니다. 싱글톤 패턴이란? 클래스가 자신의 인스턴스 하나만 인스턴스화 할 수 있도록 보장하고,이 인스턴스에 대해 어디에서나해당 클래스의 인스턴스에 접근할 수 있도록 하는 패턴입니다. // 유니티에서의 싱글톤 코드 예시 : MonoBehaviour 일 때public class SimpleSingleton : MonoBehaviour{public static SimpleSingleton instance; // 자기 자신을 정적으로 가짐 private void Awake() { if (instance == null) ..

디자인 패턴 2024.10.08

디자인 패턴에 대해 알아보자 #1 Solid 원칙

오늘은 Solid 원칙에 대해 다루고자 합니다. 이전에도 공부하면서 관련 내용이 나와 한번 시간 내서 정리해 보고자 했는데,프로젝트를 진행하면서 그 중요성을 더욱 느낀바 글을 쓰게 되었습니다. 모든 패턴의 내용을 다 다룰지는 아직 모르겠지만 최대한 할 수 있는 선에서 해보겠습니다. 디자인 패턴이란?소프트웨어 개발에서 자주 발생하는 특정 문제들에 대해재사용 가능하도록 패턴화한 해결 방식을 말합니다.   수많은 디자인 패턴이 있지만 그 중 GoF(Gang of Four)가 정리한 23가지 패턴이 가장 유명하고 또 자주 사용되고 있습니다.이를 기준으로 정리하고자 합니다.  GoF의 디자인 패턴은 보통 기능에 따라서 생성 패턴, 구조 패턴, 행위 패턴으로 구분합니다. 생성 패턴 :객체 생성을 다루는 패턴입니다...

디자인 패턴 2024.10.07

유니티 - JSON을 이용하여 데이터를 저장해보자. #2 응용 - 구글 스프레드 시트 활용 (feat. 구글 앱스 스크립트)

이전에 엑셀과 연동하여 엑셀의 내용을유니티 내부로 불러오는 방법에 대해 다룬 적이 있습니다. 오늘은 이와 유사하게 구글 스프레드시트를 활용하여JSON 데이터를 만들고, 가져오는 방법을 다루고자 합니다. 2024.09.11 - [분류 전체보기] - 유니티 - '엑셀'과 연동 해보자2024.10.01 - [유니티/공통] - 유니티 - JSON을 이용하여 데이터를 저장해보자. #1 저장과 암호화  여러 자료를 찾아보니구글 스프레드시트의 링크 권한을 통해 보안성을 가져갈 수 있다는 점,공유를 통한 수정에 편리한 점,확장 기능 추가도 엑셀보다 쉽게 할 수 있어 범용성도 좋고,무엇보다 무료라서 이를 자주 활용하는 것 같더군요.  얼마나 유용한지는 솔직히 체감이 잘 안되지만일단 자주 사용하는 것 같아서 따라 해봤습니..

유니티/공통 2024.10.05

Visual Studio에서 클래스 다이어그램을 손쉽게 만들어보자.

오늘은 Visual Studio(이하 VS로 통일)에서클래스 다이어그램을 그리는 방법에 대해 알아보겠습니다.  발표 준비를 위해 프로젝트 진행 내용을 다이어그램으로 작성하는 과정에서 VS에 자체적으로 이를 그려주는 기능이 있다는 걸 알게 되었습니다.공유하면 좋을 것 같아서 글로 정리해 봤습니다. 다이어그램이란?정보나 아이디어를 시각적으로 표현한 그림이나 도표를 말합니다. 그럼, 클래스 다이어그램은 무엇일까요? 클래스 다이어그램클래스 다이어그램은 객체 지향 시스템의 정적 구조를 시각화하는 UML(Unified Modeling Language) 다이어그램의 한 종류로서, 시스템 내의 클래스들, 속성, 메서드, 그리고 클래스 간의 관계를 보여주는 표입니다. UML(Unified Modeling Language..

카테고리 없음 2024.10.02

유니티 - JSON을 이용하여 데이터를 저장해보자. #1 저장과 암호화

유니티에서 데이터를 저장하는 방식은크게 PlayerPrefs와 JSON을 활용하는 방식 2가지로 나뉩니다. PlayerPrefs의 경우 이전에 다루어 봤기에,오늘은 JSON을 통해 데이터를 저장하는 방법에 대해 소개해 드리고자 합니다. 2024.09.13 - [유니티/공통] - 유니티 - PlayerPrefs를 이용하여 데이터를 저장해보자  JSON을 통해 데이터를 저장하는 방법을 소개하기에 앞서서이 과정을 이해하려면 "직렬화(Serializable)/역직렬화(Deserialization)", "JSON" 에 대한 사전 지식이 필요합니다. 이전에 정리한 글이 있으니 링크를 참고해 주시면 감사하겠습니다. 2024.09.30 - [알아보자 시리즈] - 직렬화(Serialization)/ 역직렬화(Deseri..

유니티/공통 2024.10.01

직렬화(Serialization)/ 역직렬화(Deserialization) (feat. JSON, CSV, XML, YAML) 에 대해 알아보자

데이터 저장에 관해 공부하다 보니, 정리의 필요성을 느끼고 이렇게 글을 작성하게 되었습니다.파일들을 자세히 보면 다양한 파일 확장자명을 확인할 수 있었을 것입니다. 이러한 다양한 확장자가 생기게 된 이유는 무엇일까요?데이터의 저장 형식에 대해 설명하기에 앞서, 이를 이해하기 위해서는먼저 "직렬화(Serialization)"와 "역직렬화(Deserialization)" 개념을 알아야 합니다. 직렬화(Serialization) / 역직렬화(Deserialization)데이터를 인터넷으로 전송할 때, 컴퓨터가 이해하기 쉬운 텍스트 혹은 바이트 형태로 변환하는 과정으로 이해하시면 됩니다. 직렬화: 데이터를 보낼 때, 데이터를 텍스트/바이트 형태로 변환하는 과정입니다. 역직렬화:데이터를 받을 때, 직렬화된 내용을..

C# - 개념 정리 6 / 예외 처리 ( try -catch , finally, Throw ,사용자 정의 예외 ), LINQ / 면접 대비

개념정리 5에서 이어집니다.2024.09.27 - [C#/기초] - C# 개념 정리 5 / 인터페이스, 열거형, 델리게이트, 이벤트, 람다, 제너릭, Func, Action, Predicate / 면접 대비  예외 처리프로그램 실행 중에 발생하는 예기치 않은 오류를 관리하기 위한 방법 네 가지의 키워드 try - catch, finally,Throw,사용자 정의 예외 를 통해 예외를 처리할 수 있다. Try - CatchTry 블록 내 예외가 발생할 수 있는 코드를 작성하고, catch에서 이를 처리한다. catch 블록은 위에서부터 순서대로 실행되며,상속 관계에 있는 경우 상위 예외 타입의 catch 먼저 실행한다.Finally예외 발생 여부와 관계없이 항상 실행되는 코드 블록 코드 블록 = 특정한 동..

C#/기초 2024.09.27

C# 개념 정리 5 / 인터페이스, 열거형, 델리게이트, 이벤트, 람다, 제너릭, Func, Action, Predicate / 면접 대비

개념 정리 4에서 이어집니다.2024.09.25 - [C#/기초] - C# 개념 정리 4/ 상속, 다형성, out, ref / 면접 대비 인터페이스 클래스가 구현해야 하는 맴버 정의하는 것 인터페이스 특징 다중 상속 지원클래스가 인터페이스를 구현할 경우 모든 인터페이스 맴버를 구현해야 한다. 인터페이스 와 추상 클래스 차이? 인터페이스  메서드를 정의만 할 뿐 구현을 갖지 않는다.모든 맴버가 public 추상 클래스  일부 동작 구현을 가지며, 추상 메서드를 포함 할 수 있다.클래스이므로 단일 상속만 가능하다.  ※ C# 8.0부터는 인터페이스도 기본 구현을 제공할 수 있고, 정적 필드를 갖는 게 가능하다.   열거형서로 관련된 상수들의 집합을 정의할 때 사용열거형의 각 상수는 정수 값으로 지정된다. e..

C#/기초 2024.09.27

C# 개념 정리 4/ 상속, 다형성, out, ref / 면접 질문 대비

개념 정리 3에서 이어집니다.2024.09.24 - [C#/기초] - C# - 개념 정리 3 / 메서드, 구조체, 클래스, 객체 / 면접 질문 대비 상속(Inheritance)기존 클래스(= 부모클래스, 기본 클래스)를 확장하거나 재사용하여새로운 클래스(= 자식 클래스, 파생 클래스)를 생성하는 방식 상속의 장점 :코드 재사용성 용이계층 구조 표현유지보수성 향상상속의 종류 단일 상속(Single Inheritance) :하나의 클래스만 상속받는 것. C#에서는 단일 상속만 지원. 다중 상속(Multilevel InHeritance) :여러 개의 부모 클래스를 동시 상속 받는 경우. 다중 레벨 상속 (Multilevel Inheritance) :상속이 여러번 이어지는 경우   계층적 상속 (Hirarchi..

C#/기초 2024.09.25

C# - 개념 정리 3 / 메서드, 구조체, 객체, 클래스, 프로퍼티 / 면접 질문 대비

개념 정리 2에서 이어집니다.2024.09.23 - [분류 전체보기] - C# - 개념 정리 2 / 변수, 배열, 컬렉션, 박싱 & 언박싱 / 면접 질문 대비메서드 (Method) 특정 작업을 수행하기 위해 사용되는 독립적 기능 단위.클래스나 구조체에서 객체의 동작 정의.  메서드 역할 :코드 재사용성 용이:가독성 향상모듈화 추상화  추상화는 객체지향 프로그래밍(Object-Oriented Programming, OOP)의특징과도 이어지므로 아래 서술  메서드 구조  [접근 제한자] [리턴타입] [메서드 이름]([매개변수]) 형태 ex) public void Test(string a){ Console.WriteLine(a);}private int Test1(int a){ int sum = a + 1;..

C#/기초 2024.09.24