게임 개발/개발 공부(11)
-
[ 개발 공부 ] IEnumerator, IEnumerable
IEnumerator는 다른 언어의 Iterator와 비슷한 역할을 하는 열거자입니다.IEnumerator를 알기 위해 IEnumerable부터 알아봅시다. IEnumerable은 인터페이스입니다.이 때 IEnumerable라는 인터페이스는 IEnumerator를 반환하는 GetEnumerator라는 메서드를 구현해야 합니다.public class SceneTitle : IEnumerable{ private string[] _titles = ["Intro", "Play", "Ending"]; // IEnumerable 인터페이스를 구현 public IEnumerator GetEnumerator() { for (int index = 0; index IEnumerable을..
2024.05.15 -
[ 개발 공부 ] 퀵 정렬 ( Quick Sort ) 방법
시간 복잡도: O( n log n ), 최악의 경우 O( n^2 ) > 퀵 정렬 방법하나의 배열에서 피벗 하나를 선택한다. ( 보통 맨 처음 인덱스 ) 선택한 피벗을 기준으로 두 개로 분할하고, 분할된 부분을 퀵 정렬한 다음, 두 개의 정렬된 부분을 합하여 전체가 정렬된 배열이 되게 한다. > 과정퀵 정렬은 다음의 단계들로 이루어진다.분할(Divide): 입력 배열을 선택한 피벗을 기준으로 비균등하게 2개의 부분 배열(피벗을 중심으로 왼쪽: 피벗보다 작은 요소들, 오른쪽: 피벗보다 큰 요소들)로 분할한다.정복(Conquer): 부분 배열을 정렬한다. 부분 배열의 크기가 충분히 작지 않으면 순환 호출 을 이용하여 다시 분할 정복 방법을 적용한다.결합(Combine): 정렬된 부분 배열들을 하나의 배열에 합..
2024.05.14 -
[ 개발 공부 ] 여러 가지 데이터 표기법, + Unity 표준 코딩 컨벤션
개발을 하면서 당연한 것처럼 선생님에게 배웠던 private 변수명 앞에 _를 붙이는 방식을 사용하고 있었는데내가 사용하고 있는 데이터 표기법이 무엇이었는지 몰라서 궁금하기도 하고 공부할 겸 쓰는 글이다. Private 변수 선언할 때 _를 붙이는 이유코딩 컨벤션으로 인한 이유 때문이다.간단하게 얘기하자면 코드를 짜면서 이해를 쉽게 하기 위한 규칙이다. 예를 들어 저는 유니티에서 현재메서드에는 파스칼 표기private, protected 변수의 변수명 앞에는 _를 붙이고 카멜 표기 + 약어 사용 지양하기public 변수는 파스칼 표기메서드, 지역 변수에는 카멜 표기클래스는 파스칼 표기인터페이스에는 파스칼 표기, 앞글자에 I를 붙인다.bool 타입 변수는 is, can, have(has) 등의 접두사를 사..
2024.05.12 -
[ 개발 공부 ] Obsidian
개발 공부가 맞는가 싶지만, 개발할 때 자주 쓸 거 같으니 일단 개발 공부 목록에 넣어봤다. Obsidian 친구에 적극적인 권유로 Obsidian을 설치 후 깔아보았다. 개인적인 Obsidian 장점에 대해서 얘기해볼 예정이다. Obsidian에 대한 정리 글을 원한다면 아래 링크를 참고하길 바란다. [Obsidian] 친구가 정리한 글이다. 장점 일단 장점이 몇 개인가 있는데 1. 메모장보다 좋다! 일단 자신이 적은 메모를 이런 식으로 정리할 수 있다. 이게 생각보다 편하다. 그리고 사진도 넣을 수 있고, 표도 만들 수 있는데 사용할 때 메모장처럼 쓰기 편하다는 점이 좋다. 워드나 한글은 사용할 때 뭔가 귀찮다. 2. 추가 기능이 많다! 추가 플러그인을 설치할 수 있는데 다양한 기능들이 있다. 예를 ..
2023.10.24 -
[ 개발 공부 ] UML이란?
UML이란 무엇인가? 매우 간단하게 정리해보았다. Unified Modeling Language 통합 모델링 언어라는 뜻이다. 프로그램 설계를 표현하기 위해 사용하는 표기법 기획자나 개발자가 효율적으로 의사 소통을 위한 표준화된 모델링 언어이다. 객체지향적인 분석과 설계를 위한 모델링 언어이다. 정해진 기호와 다이어그램으로 소프트웨어 시스템의 산출물을 가시화, 구축, 문서화하는 도구 코드를 다이어그램으로 변환 그렇다면 UML을 언제 왜 쓰는가? 기획자, 개발자들끼리의 원활한 커뮤니케이션을 위해서 사용한다. 한눈에 보기 어려운 코드들을 시각화하여서 개발중인 시스템을 쉽게 이해하고 유지보수 시스템 설계 아이디어 논의할 때 용의하다. 개발 이전에 구조 짜는데 좋다. 문제를 분석, 설계하는 과정에서 UML을 작..
2023.10.22