본문 바로가기

분류 전체보기

(82)
가비지 컬렉션이란 무엇인가 가비지 컬렉션(Garbage Collection)은 프로그래밍 언어에서 메모리 관리의 측면에서 사용되는 중요한 개념으로 주로 메모리 관리를 자동화 하고 불필요한 메모리 사용을 최소화 하기 위해서 사용됩니다. 가비지 컬렉션은 주로 고급 프로그래밍 언어에서 사용되며, C++, C#, .NET, Java, Python, Ruby등의 언어에서 지원됩니다. 가비지 컬렉션은 다음과 같은 주요 목적을 가지고 있습니다. 메모리 누수 방지 : 가비지 컬렉션은 프로그램이 할당한 메모리를 추적하고, 더 이상 사용되지 않는 메모리를 식별하여 해제하는 역활을 합니다. 이로써 메모리 누수를 방지하고 프로그램이 메모리를 계속해서 점유하지 않도록 합니다. 자동 메모리 관리 : 프로그래머는 메모리 할당 및 해제를 수동으로 처리할 필요..
23.11.06 오늘은 휴대폰이 꺼져있어서 알람을 듣지 못해서 12시가 넘어서 일어났다. 창고 작업을 하는데 기존에 인벤토리 스크립트와 호환이 잘 되지 않아서 인벤토리 스크립트를 수정해서 공용으로 사용할 수 있게 하였다.
23.11.03 창고 스크립트를 구성하였는데, 인벤토리와 따로 스크립트를 만들어서 사용하였다.
23.11.02 인벤토리에 관한 기능을 완성해서 창고 UI를 구성하였다. 창고에 버튼을 넣어서 버튼을 통해서 여러 개의 창고를 이용할 수 있도록 하였다. 창고 1개에는 81종류의 아이템이 들어갈수 있게 하였다.
23.11.01 비동기적으로 씬 로딩하기 유니티에는 SceneManager라는 클래스가 존재하는데, 게임내 다양한 장면(Scene)을 관리하고 전환하는데 사용되는 유용한 도구입니다. 씬 이동 LoadScene을 사용하면 다른 씬으로 전환할 수 있습니다. 하지만 씬을 전환하기 위해서 Build에서 전환할 씬을 등록해야 합니다. using UnityEngine; using UnityEngine.SceneManagement; // 다른 장면으로 전환하기 SceneManager.LoadScene("씬 이름"); SceneManager.LoadScene(Scene Index); 비동기 씬 이동 using System.Collections; using System.Collections.Generic; using UnityEngin..
23.10.31 Unity : IPointerDownHandler IPointerDownHandler는 Unity에서 제공하는 UI 이벤트 인터페이스로, UI요소가 마우스 버튼이나 터치 입력으로 눌렀을 때 호출되는 메소드를 정의합니다. IPointerDownHandler 인터페이스에는 다음과 같은 메서드가 정의되어있습니다. void OnPointerDown(PointerEventData eventData); OnPointerDown 메소드는 UI 요소가 눌렸을 때 호출됩니다. PointerEventData는 이벤트와 관한 정보를 포함하고 있습니다. 우클릭하였을 때 실행되는 메소드는 아래와 같은 스크립트입니다. public void OnPointerDown(PointerEventData eventData) { if (ev..
23.10.30 오늘은 인벤토리에 장비를 관리하는 UI를 만들었다. 인벤토리 아이템 슬롯에 사용되던 코드를 재사용하였다.
23.10.27 Unity : OnDrop 이벤트에서 RayCast 사용하기 IDropHandler 인터페이스를 상속한 경우 OnDrop메소드를 구현하는데 RayCast를 사용하는 방법이다. public void OnDrop(PointerEventData eventData) { // 드롭 대상의 RectTransform을 얻음 RectTransform dropTarget = this.transform as RectTransform; // 드롭 대상 아래에 어떤 게임 오브젝트가 있는지 검색 RaycastHit hit; Ray ray = Camera.main.ScreenPointToRay(eventData.position); if (Physics.Raycast(ray, out hit)) { GameObject hitObje..
가비지 컬렉터를 회피하기 위한 전략 가비지 컬렉터를 회피하려면 메모리 관리를 명시적으로 제어해야 합니다. 그러나 이렇게 하면 개발자가 메모리 관리를 직접 처리해야 하므로 코드가 더 복잡해지고 오류의 가능성이 높아집니다. 그럼에도 불구하고 일부 특수한 상황에서 가비지 컬렉터를 회피하는 것이 필요할 수 있습니다. 다음은 가비지 컬렉터를 회피하기 위한 일반적인 전략과 주의사항입니다. 수동 메모리 관리: 객체를 수동으로 할당하고 해제합니다. 메모리 할당 및 해제를 위한 메서드나 함수를 사용하여 객체 수명을 관리합니다. 주의가 필요하며, 메모리 누수와 해제되지 않은 메모리를 조심스럽게 다룰 필요가 있습니다. 풀링(Pooling): 객체를 미리 할당해 두고 사용한 후에 다시 사용 가능한 상태로 돌려놓는 방식을 사용합니다. 이는 메모리 할당 및 해제 ..
가비지 컬렉터란 무엇인가 가비지 컬렉터(Garbage Collector)는 프로그래밍 언어 런타임 환경에서 메모리 관리를 지원하는 구성요소 중 하나입니다. 주로 메모리 누수를 방지하고 프로그램의 성능을 향상시키는 데 사용됩니다. 가비지 컬렉션은 프로그램이 동적으로 할당한 메모리를 관리하고 더 이상 사용되지 않는 메모리를 해제하여 다시 사용 가능한 상태로 만듭니다. 가비지 컬럭터는 다음과 같은 주요 작업을 수행합니다. 참조계산: 가비지 컬렉션은 프로그램에서 어떤 객체가 여전히 참조되고 있는지를 추적합니다. 객체가 더 이상 참조되지 않는 경우, 이 객체는 후속 작업을 위해 표시됩니다. 가비지 식별: 가비지 컬렉션은 더이상 참조되지 않는 객체를 확인합니다. 이러한 객체는 가비지로 표시됩니다. 메모리 해제: 가비지로 표시된 객체들을 메..