분류 전체보기 410

[Unity] 전역 매니저 만들기

🎮 유니티로 전역으로 매니저 클래스 만들 수 있을까?요즘 유니티 공부를 시작했다유니티 공부를 시작하면서 이해가 안되는 부분이 있었다딱 하나만 존재하는 매니저 클래스 만들고 싶은데,,,Main에다 전역 클래스로 그냥 선언하면 될 것 같은데,,, 왜 이렇게 어렵게 만들어야 하지? 그 이유는 유니티가 우리가 흔히 아는 C# 프로그램이랑 구조 자체가 다르기 때문이었다 🧭 유니티에는 Main 함수가 없다?C# 콘솔 프로젝트나 일반 프로그램을 만들면 static void Main()이란 함수가 딱 있고, 여기서 프로그램이 시작된다그래서 전역 변수든, 매니저 클래스든, Main 안에서 선언하고 초기화하면 모든 게 깔끔하게 돌아갔다 그런데 유니티는?// 응? Main이 어디 있지? 유니티는 이 Main 함수 자체..

업무_메모 2025.04.15

[MMORPG 게임 개발(C#, Unity)] Part 3. 환경 설정

* 해당 글은 게임 프로그래머 입문 올인원 강의를 보고 정리한 글입니다 https://www.inflearn.com/roadmaps/355#introduce MMORPG 게임 개발, 켠김에 끝판왕까지! (유니티 + C#) 로드맵 - 인프런C#, Unity 스킬을 학습할 수 있는 게임 개발 로드맵을 인프런에서 만나보세요.www.inflearn.com * Unity 6.0.0 3D 프로젝트 생성 * 레이아웃 세팅 Window > Layouts > Tall Game 화면 하단 Ctrl + Shift + C 단축키 Console창 열기 * 라이더로 변경 Edit > Preference... > External Tools > External Script Editor > 라이더로 변경

[C#] 추상 클래스와 인터페이스의 차이

* 추상 클래스(abstract class)   기본 구현과 상속을 통해 확장할 수 있는 기본 구현, 설계 뼈대를 제공   일반 메서드와 virtual 메서드가 있으며, virtual 메서드만 오버라이드(재정의) 가능   추상(abstract) 메서드는 반드시 재정의 필요   상태(필드)와 생성자 가능   단일 상속만 가능 * 인터페이스(interface)   기능의 명세(정의)만 제공, 구현은 없음(C# 8.0 전 기준)   C# 8.0 이후부터는 default 구현(바디 포함)도 가능   상태(필드)와 생성자 불가   다중 상속 가능 * 인터페이스는 "운전할 수 있는 자격증"과 같다   "이 객체는 운전할 수 있는 기능을 반드시 가지고 있어야 한다"는 의미를 가진 기능 명세using System;in..

IT공부 2025.04.14

[MMORPG 게임 개발(C#, Unity)] Part 1. 알아두면 유용한 기타 문법

* 해당 글은 게임 프로그래머 입문 올인원 강의를 보고 정리한 글입니다 https://www.inflearn.com/roadmaps/355#introduce MMORPG 게임 개발, 켠김에 끝판왕까지! (유니티 + C#) 로드맵 - 인프런C#, Unity 스킬을 학습할 수 있는 게임 개발 로드맵을 인프런에서 만나보세요.www.inflearn.com * 다차원 배열, 가변 배열// 다차원 배열 ///////////////////////////////////////////////int[,] tile ={ { 1, 1, 1, 1 }, { 1, 0, 0, 1 }, { 1, 0, 0, 1 }, { 1, 0, 0, 1 }, { 1, 1, 1, 1 },};var defaultCol..

[C#] 오버라이딩 정리

* 오버로딩 (Overloading)   같은 이름, 다른 매개변수로 메서드를 여러 개 정의(컴파일 타임 다형성)* 오버라이딩 (Overriding)  부모로부터 상속받은 메서드를 자식 클래스에서 재정의(런타임 다형성)* sealed   더 이상 오버라이딩을 허용하지 않음(상속 제한) * 언어별 오버라이딩 비교 C++JavaC#기본 상속 구조다중 상속단일 상속 + 다중 인터페이스단일 상속+ 다중 인터페이스오버라이딩 키워드C++11 이후 override 키워드 지원@Overrideoverride강제성 선택 사항 선택 사항이지만IDE나 컴파일러가 경고 권장함 필수오버라이딩 목적- 기능 재정의- 다중 상속의 모호성 해결- 기능 재정의- 기능 재정의 * abstract와 virtual 비교(C# 기준)  abs..

IT공부 2025.04.11

[MMORPG 게임 개발(C#, Unity)] Part 1. 객체 지향

* 해당 글은 게임 프로그래머 입문 올인원 강의를 보고 정리한 글입니다   https://www.inflearn.com/roadmaps/355#introduce MMORPG 게임 개발, 켠김에 끝판왕까지! (유니티 + C#) 로드맵 - 인프런C#, Unity 스킬을 학습할 수 있는 게임 개발 로드맵을 인프런에서 만나보세요.www.inflearn.com    * 절차적 프로그래밍(Procedural Programming)   함수를 이용한 프로그래밍 패러다임 * 객체 지향 프로그래밍(Object-Oriented Programming, OOP)    프로그램을 수많은 객체라는 기본 단위로 나누고 이들의 상호 작용으로 서술하는 방식   속성 + 기능   은닉성, 상속성, 다양성 * Java는 new를 객체 생..

[C#] 문자열 리터럴 vs 참조 타입 문자열

🔠 1. string은 어떤 타입인가?string은 참조 타입 (Reference Type)System.String 클래스의 aliasimmutable 불변  🧳 2. 문자열 리터럴 vs 힙에 생성된 string 참조 타입 객체   문자열 리터럴 "..."힙에 생성된 string 참조 타입 객체 new string("...") 생성 시점컴파일 타임에 intern pool 등록런타임에 힙에 새 객체 생성메모리 위치Intern Pool (공유)Heap (새로운 인스턴스)ReferenceEquals 비교 결과true (같은 리터럴이면)false (항상 다른 참조)  📂 3. Intern Pool이란?.NET 런타임(CLR)이 중복된 문자열을 하나만 저장해서 재사용하는 공용 문자열 저장소 [사용 이유](1..

IT공부 2025.04.10

[시작하세요! C#10 프로그래밍] 3장. C# 기초

* 해당 글은 시작하세요! C#10 프로그래밍 도서를 읽고 정리한 글입니다.   https://product.kyobobook.co.kr/detail/S000200047759 시작하세요! C# 10 프로그래밍 | 정성태 - 교보문고시작하세요! C# 10 프로그래밍 | 이 책의 목표는 여러분이 C#을 이용해 프로그래밍 기초를 탄탄하게 다질 수 있게 하는 것이다. 이를 위해 C# 언어의 최신 버전인 C# 10의 문법까지 구체적인 예제와product.kyobobook.co.kr    * 정수형 기본타입   sbyte - System.Sbyte   byte - System.Byte   short - System.Int16   ushort - System.UInt16   int - System.Int32   ui..

IT공부/IT서적 2025.04.10

[시작하세요! C#10 프로그래밍] 1장. 들어가면서, 2장. 개발 환경 준비

* 해당 글은 시작하세요! C#10 프로그래밍 도서를 읽고 정리한 글입니다.    https://product.kyobobook.co.kr/detail/S000200047759 시작하세요! C# 10 프로그래밍 | 정성태 - 교보문고시작하세요! C# 10 프로그래밍 | 이 책의 목표는 여러분이 C#을 이용해 프로그래밍 기초를 탄탄하게 다질 수 있게 하는 것이다. 이를 위해 C# 언어의 최신 버전인 C# 10의 문법까지 구체적인 예제와product.kyobobook.co.kr    * 닷넷 프레임워크(.NET Framework)   마이크로소프트에서 발표한 응용 프로그램 개발 환경으로 프로그램 가상 머신에 속한다 * CLR(Common Language Runtime)   가상머신 역할 * 공통 중간 언어(..

IT공부/IT서적 2025.04.10

[ETC] 자바는 JVM 생략 OK, C#은 왜 .NET까지 묶일까?

☕ 자바는 "JVM 포함"이 당연한 생태계 자바는 애초에 "Write Once, Run Anywhere"를 목표로 만들어진 언어다 즉, 어디서든 돌아가려면 당연히 JVM이라는 실행 환경이 전제가 되어야 했다 그래서 자바라는 의미에 사실상 자바 + JVM + 표준 라이브러리가 통째로 담겨있는 거고, 이게 너무 당연하게 묶여 있어서 굳이 "자바 + JVM"이라고 말하지 않는다 그냥 자바라고 한다 JUST 자바 😎😎😎 🧩 자바는 JVM 하나면 끝, C#은 선택부터 고민 C#을 사용한다고 하면, 자연스럽게 따라붙는 게 하나 있다 바로 "어디에서 실행되는 C#인가?"라는 질문이다 자바는 JVM 하나면 깔끔하게 끝나는데, C#은 실행 환경이 좀 복잡하다 과거에는 .NE..

IT공부 2025.04.10