본문 바로가기

분류 전체보기28

[C#] (9) 오버로딩 - overloading 이번 포스팅에서는 C# 문법 overloading에 대해서 간략한 설명과 예제를 작성해보겠습니다. 오버로딩은 하나의 함수 이름으로 여러 개의 함수를 입출력만 다르게 선언하여 사용하는 것입니다. 실행 시에는 컴파일러가 매개변수로 입력되는 값을 기준으로 해당되는 함수를 자동으로 실행하게 됩니다. 오버로딩을 쓰는 여러 가지 이유가 있지만 비슷한 기능을 처리하는 함수를 매번 다른 이름으로 선언하여 사용에 혼돈이 올 수 있기 때문이라고 생각합니다. 오버로딩 예제 - 함수 선언 및 실행 함수를 오버로딩 하는 방법은 의외로 간단합니다. 함수를 같은 이름으로 입력과 출력만 다르게 여러 개로 만들면 호출 시 컴파일러가 입력에 맞게 해당되는 함수를 자동으로 실행합니다. 아래는 덧셈 기능을 하는 함수 Addnumber를 o.. 2022. 9. 19.
[Unity] 유니티 싱글톤 오브젝트의 활용 - singleton 프로그래밍을 설계 또는 디자인할 때 사용되는 디자인 패턴 중 하나인 싱글톤은 게임 개발 시 많이 사용되는 설계 방법입니다. 싱글톤은 프로젝트 안에서 유일하게 1개의 인스턴스로 존재하여 다른 클래스와 데이터 공유가 쉽다는 장점이 있습니다. 이런 이유로 게임 개발에서는 데이터 저장, 오디오 관리, 게임 점수 관리를 위해 사용되는 게임 매니저를 싱글톤으로 설계하고 구현하여 프로젝트 내 다른 클래스들과 연계하여 전체 기능을 구현합니다. 1. 게임 매니저 싱글톤으로 구현하기 아래는 게임 매니저를 만들고 해당 인스턴스를 할당할 정적 변수를 선언하고 Awake 함수에서 자신의 인스턴스를 할당하는 예제입니다. 게임 매니저는 score라는 게임 안에서 점수를 저장하는 정수 타입의 변수를 가지고 있으며 해당 점수는 Add.. 2022. 9. 18.
[Unity] 유니티 코루틴 사용법 - Coroutine 사용 이유 코루틴이란 유니티에서 제공하는 기능으로 코드 내에서 구문 실행 도중에 처리를 대기시키거나 순차처리에 함수를 병렬로 동시에 처리하도록 구현할 수 있습니다. 유니티 api에서는 Coroutine이 스레드가 아닌 점을 명심하라고 표기되어있습니다. 말로 하면 좀 복잡해 보이는 데 사용 예시를 보면 쉽게 이해됩니다. 게임 안에서 캐릭터가 중독되어 체력이 감소하는 경우 또는 http 또는 I/O 처리와 같이 대기시간이 긴 비동기 작업을 처리하는 데 사용되며 개인적인 생각이지만 프레임당 실행되는 Update문으로 처리하기보다는 코루틴을 사용하여 지정한 시간 간격으로 처리하여 성능상 이점을 획득할 수 있습니다. 이 포스트에서는 코루틴의 기본적인 사용법 및 특성에 대해 알아보겠습니다. 1. 코루틴에 선언하기 코 루틴은 .. 2022. 9. 18.
[Unity] 유니티 게임 오브젝트를 찾는 방법 - GameObject 이번 포스팅에서는 유니티의 게임 오브젝트를 찾아 레퍼런스를 얻는 방법을 알아보려고 합니다. 이전에 작성한 유니티 컴포넌트 찾는 방법에서 이야기했듯이 유니티 scene 안에 게임 오브젝트는 무조건 transform 컨포넌트를 가지고 있습니다. 이러한 이유로 원활하게 원하는 게임 오브젝트를 찾으려면 transform 컨포넌트를 이용해야 합니다. 매번 진행하고 있는 상황에 따라 게임 오브젝트를 찾는 방법은 다를 수 있기 때문에 대표적으로 많이 사용되는 특정 스크립트를 가지고 있는 오브젝트, 부모나 자식 게임 오브젝트, 비활성화된 게임 오브젝트 등을 찾는 방법을 알아보겠습니다. 1. 먼저 알아야 할 내용 원하는 게임 오브젝트를 원활하게 찾기 위해서는 transform을 이용하여 부모나 자식 오브젝트에 접근하는 .. 2022. 9. 16.