분류 전체보기 30

유니티 코루틴 Coroutine(심화)

유니티에서 게임을 만들다 보면 이런 상황이 자주 생긴다. 1초 기다렸다가 실행하기공격 후 0.5초 뒤 다시 공격 가능하게 만들기체력이 천천히 회복되게 만들기화면이 서서히 어두워지게 만들기몬스터가 일정 시간마다 움직이게 만들기 이런 기능을 만들 때 자주 사용하는 것이 바로 코루틴 Coroutine이다.1. 코루틴이란?코루틴은 쉽게 말하면 중간에 멈췄다가 다시 이어서 실행할 수 있는 함수이다.일반 함수는 실행되면 위에서 아래로 한 번에 끝까지 실행된다. void Test(){ Debug.Log("시작"); Debug.Log("끝");} 이 함수는 시작을 출력하고 바로 끝을 출력한다.하지만 코루틴은 중간에 기다릴 수 있다. IEnumerator TestCoroutine(){ Debug.Log(..

C# 키워드 out

C# out 키워드 완벽 정리C#에서 out은 출력 전용 참조 매개변수를 만들 때 사용하는 키워드이다.메서드 안에서 값을 만들어서, 메서드 밖으로 돌려보내고 싶을 때 사용한다.1. out이란?out은 메서드의 매개변수 앞에 붙여서 사용한다. void GetNumber(out int number){ number = 10;} 이 메서드는 number라는 값을 밖에서 받아오는 것이 아니라,메서드 안에서 값을 넣어서 밖으로 내보내는 역할을 한다.사용 예시는 다음과 같다. int result;GetNumber(out result);Console.WriteLine(result); 출력 결과: 10 2. out의 핵심 특징out의 가장 중요한 특징은 다음과 같다.특징설명값을 밖으로 내보냄메서드 안에서 만든 값을..

카테고리 없음 2026.05.29

C# 접두사 Prefix 정리

프로그래밍에서 접두사는 이름 앞에 붙는 글자나 단어를 의미한다.영어로는 Prefix라고 부른다.예를 들어 다음 변수명을 보자. private int _hp; 여기서 _가 접두사처럼 사용되었다.변수 이름 앞에 붙어서 이 변수가 어떤 성격을 가지는지 알려주는 역할을 한다.또 다른 예시도 있다. bool isDead;bool hasItem;bool canMove; 여기서 is, has, can도 접두사처럼 사용된다.변수 이름만 봐도 이 값이 어떤 의미인지 쉽게 알 수 있다.1. 접두사란?접두사는 이름 앞에 붙어서 의미를 추가하는 표현이다.프로그래밍에서는 변수, 메서드, 클래스, 인터페이스 등의 이름 앞에 붙어서 다음과 같은 정보를 알려줄 수 있다. _isDeadm_hps_instanceIPlayerTItem ..

카테고리 없음 2026.05.28

C# 제네릭 Generic 정리

C#을 공부하다 보면 라는 문법을 자주 볼 수 있다.예를 들면 이런 코드이다. List numbers = new List(); 또는 직접 제네릭 클래스를 만들 때도 볼 수 있다. class Box{ public T value;} 여기서 가 바로 제네릭과 관련된 문법이다.제네릭은 쉽게 말해 자료형을 나중에 정할 수 있게 해주는 문법이다.1. 제네릭이란?제네릭은 클래스, 메서드, 인터페이스 등을 만들 때 사용할 자료형을 미리 고정하지 않고 나중에 정할 수 있게 하는 기능이다.예를 들어 정수 값을 저장하는 상자가 있다고 해보자. class IntBox{ public int value;} 문자열을 저장하는 상자도 필요하다면 또 만들어야 한다. class StringBox{ public strin..

카테고리 없음 2026.05.27

C# 열거형 enum 정리

C#에서 enum은 열거형이라고 부른다.열거형은 서로 관련 있는 상수들을 하나의 이름으로 묶어서 관리할 때 사용하는 자료형이다.예를 들어 캐릭터의 상태를 숫자로 관리한다고 해보자. int state = 0; 이 코드만 보면 0이 어떤 상태를 의미하는지 바로 알기 어렵다.하지만 enum을 사용하면 상태를 이름으로 표현할 수 있다. enum PlayerState{ Idle, Move, Attack, Die} 이제 상태를 이렇게 사용할 수 있다. PlayerState state = PlayerState.Idle; Idle이라는 이름을 보고 현재 상태가 대기 상태라는 것을 쉽게 알 수 있다.1. 열거형이란?열거형은 정해진 값들 중 하나를 선택해서 사용할 수 있는 자료형이다.예를 들어 방향을..

카테고리 없음 2026.05.26

C# 접근 제한자 정리

C#에서 접근 제한자는 클래스, 변수, 메서드 등에 어디에서 접근할 수 있는지 정해주는 키워드이다.쉽게 말하면, 어떤 코드를 다른 곳에서 사용할 수 있게 할지, 아니면 내부에서만 사용하게 할지를 정하는 문법이다.예를 들어 다음과 같은 변수가 있다고 하자. public int hp; 여기서 public이 접근 제한자이다.public으로 선언된 변수는 다른 클래스에서도 접근할 수 있다.반대로 다음처럼 작성할 수도 있다. private int hp; private으로 선언된 변수는 해당 클래스 내부에서만 접근할 수 있다.1. 접근 제한자가 필요한 이유접근 제한자는 코드를 안전하고 깔끔하게 관리하기 위해 사용한다.만약 모든 변수를 public으로 만든다면 다른 클래스에서 마음대로 값을 바꿀 수 있다. publi..

카테고리 없음 2026.05.25

Unity에서 초기화란 무엇인가?

Unity에서 초기화란 변수, 컴포넌트, 오브젝트를 처음 사용할 수 있는 상태로 준비하는 작업을 말한다.게임을 만들다 보면 체력, 이동 속도, 공격력, 타이머 같은 값을 처음에 정해줘야 한다.또 Rigidbody2D, Animator, PlayerHealth 같은 컴포넌트도 미리 가져와야 한다.이런 준비 과정을 초기화라고 한다.예를 들어 다음과 같은 코드가 있다. private int hp;private float speed;private Rigidbody2D rb; 이 변수들은 선언만 된 상태이다.아직 실제 값이나 컴포넌트가 제대로 들어가 있지 않다.그래서 보통 Awake()나 Start()에서 값을 넣어준다. private void Awake(){ hp = 100; speed = 5f; ..

카테고리 없음 2026.05.22

Unity에서 다른 스크립트 가져오는 방법 정리

GetComponent, SerializeField, 싱글톤까지Unity에서 게임을 만들다 보면 한 스크립트에서 다른 스크립트의 변수나 함수를 사용해야 하는 경우가 많다.예를 들어 플레이어가 적에게 맞았을 때 PlayerHealth의 체력을 줄이거나, 총알이 몬스터와 충돌했을 때 Enemy의 TakeDamage() 함수를 실행하는 상황이 있다.이때 다른 스크립트를 가져오는 방법은 여러 가지가 있다.대표적으로는 다음과 같은 방법들이 있다.1. 같은 오브젝트에 붙어 있는 스크립트 가져오기가장 기본적인 방법은 GetComponent를 사용하는 것이다. PlayerHealth hp = GetComponent();hp.TakeDamage(10); 이 코드는 현재 스크립트가 붙어 있는 같은 GameObject에서 ..

카테고리 없음 2026.05.21

Coroutine

1. 코루틴이란?유니티에서 코루틴(Coroutine) 은 작업을 한 번에 끝내지 않고, 중간에 잠깐 멈췄다가 다시 이어서 실행할 수 있는 기능이다.보통 C# 메서드는 실행되면 위에서 아래로 한 번에 실행된다. void Start(){ Debug.Log("시작"); Debug.Log("끝");} 이 코드는 시작을 출력한 뒤 바로 끝을 출력한다.하지만 코루틴을 사용하면 중간에 일정 시간 기다리거나, 다음 프레임까지 멈췄다가 다시 실행할 수 있다. IEnumerator Start(){ Debug.Log("시작"); yield return new WaitForSeconds(2f); Debug.Log("2초 뒤 실행");} 이 코드는 시작을 출력하고, 2초 후에 2초 뒤 실행을 출력한다..

카테고리 없음 2026.05.20

힙 정렬과 스택 정렬의 차이점

힙 정렬과 스택 정렬, 그리고 값형과 참조형의 연관성이전에 값형과 참조형에 대해 정리하면서, 데이터가 메모리에 저장되는 방식이 다르다는 것을 알 수 있었다.값형은 실제 값 자체를 저장하고, 참조형은 실제 데이터가 있는 위치를 참조한다.이번 글에서는 그 개념을 조금 더 확장해서 힙 정렬과 스택 정렬을 정리해보려고 한다.여기서 주의할 점은 힙 정렬의 힙(Heap)과 메모리 영역의 힙(Heap)은 이름은 같지만 완전히 같은 개념은 아니라는 것이다.힙 정렬에서 말하는 힙은 부모와 자식 사이에 규칙이 있는 자료구조이고, 값형과 참조형에서 말하는 힙은 참조형 데이터가 저장되는 메모리 영역을 의미한다.또한 스택 정렬의 스택(Stack)과 값형에서 자주 언급되는 스택 메모리(Stack Memory)도 이름은 같지만 의..

카테고리 없음 2026.05.19