전체 글 썸네일형 리스트형 최종 프로젝트 #9 9. 델리게이트에 대해 설명해 주세요. 델리게이트는 메서드를 변수처럼 저장할 수 있는 개념이다. 델리게이트를 사용하면 메서드를 다른 메서드에 전달하거나, 필요한 때에 호출할 수 있다. 마치 메서드의 주소를 저장하는 우편번호 같은 역할을 말한다. 델리게이트를 사용하면 코드를 더 유연하게 만들고, 다양한 상황에서 메서드를 동적으로 선택하여 실행할 수 있다. 상점에 들어갈 아이템 제작 [CreateAssetMenu(fileName = "shopMenu", menuName = "Scriptable objects/New Shop item", order = 1)] public class ShopItemSO : ScriptableObject { public string title; public string descr.. 더보기 최종프로젝트 #8 10. 제네릭이란 무엇인가요? 제네릭(Generics)은 데이터 형식에 관계없이 재사용 가능한 코드를 작성할 수 있도록 하는 프로그래밍 개념입니다. 제네릭을 사용하면 클래스나 메서드를 정의할 때 데이터 형식을 지정하지 않고, 실행 시점에 실제 데이터 형식을 지정할 수 있습니다. 이를 통해 코드의 재사용성과 유연성을 높일 수 있습니다. 예를 들어, 제네릭을 사용하여 리스트나 딕셔너리 같은 컬렉션 클래스를 만들면, 다양한 데이터 형식을 저장할 수 있습니다. 상점 뼈대 제작 저번에 제작한 코인의 데이터를 저장하고 상점에 연결해서 사용하는 부분이 잘 안되고 있었는데 우선 그부분을 제외하고 기본적인 상점의 기능 구현에 조금 더 힘써보기로 했다. 더보기 최종 프로젝트 #7 9. 배열과 List, ArrayList, Dictionary 의 차이점을 설명해주세요. 배열(Array): 배열은 동일한 자료형의 요소들이 연속된 메모리 공간에 저장되는 자료 구조입니다. 각 요소는 인덱스를 통해 접근할 수 있습니다. 배열의 크기는 초기화될 때 결정되며, 크기를 동적으로 변경할 수 없습니다. List: 리스트는 순서가 있는 요소들의 모음입니다. 리스트는 동적으로 크기가 조정될 수 있습니다. 여러 가지 자료형의 요소들을 포함할 수 있습니다. ArrayList: 어레이리스트는 리스트의 구현 중 하나입니다. Java에서 제공되는 클래스로, 크기를 동적으로 조정할 수 있는 배열 기반의 리스트를 제공합니다. 요소들을 추가, 삭제, 검색하는 등의 작업이 편리하게 수행됩니다. 제네릭(Generics.. 더보기 최종프로젝트 #6 8. 박싱과 언박싱에 대하여 설명해주세요. 박싱 : 값 타입을 오브젝트 형식이나 값 형식에서 구현된 임의의 인터페이스 형식으로 변환하는것 언박싱 : 오브젝트 형식이나 인터페이스 형식에서 값 형식으로 변환하는 것 a. (꼬리질문) 박싱, 언박싱을 사용할 때 주의해야 할 점이 있다면 무엇이 있나요? 박싱 언박싱을 사용하게 되면 항상 새로운 메모리에 값을 복사해야 하기 때문에 성능 저하를 일으킬 수 있다. 잘못된 타입으로 언박싱을 시도 했을때 런타임 오류가 발생한다. https://hongjinhyeon.tistory.com/90 [C#] 박싱 과 언박싱 (Boxing & UnBoxing) 일반적인 프로그램을 만들면 이 개념에 대해서 몰라도 개발은 가능합니다.그러나 사용되는 메모리가 많거나 관리가 필요하다면 .. 더보기 최종 프로젝트 #5 6. 가비지 컬렉터를 회피하기 위한 전략은 무엇이 있나요? 메모리 관리에 주의 - 불필요한 객체 생성을 피하고, 사용 후 적절하게 해제 사용하지 않는 객체 해제 - 더 이상 필요하지 않은 객체들은 명시적으로 null로 설정하여 참조를 해제하고, 가비지 컬렉터가 해당 객체를 수거하도록 유도 대규모 객채 풀링 (Object Pooling) - 반복적으로 생성 및 해제되는 객체를 미리 생성해 두고 재사용함으로써 가비지 컬렉션을 회피 비관리 코드 사용 (Unmanaged Code Usage) - 가비지 컬렉터가 관리하는 .NET 프레임워크의 관리 코드가 아닌, 비관리 코드를 사용하여 메모리 관리를 수행 Weak references사용 - 가비지 컬렉션의 대상이 되지 않도록 하여 메모리를 회피 7. 가비지 컬렉션.. 더보기 최종프로젝트 #4 4. struct(구조체)와 class를 비교해서 설명해주세요. struct와 class는 모두 사용자 데이터 타입을 정의할 때 사용되며 둘 다 멤버와 함수를 가질 수 있다. 하지만 일반적으로 struct는 데이터의 집합체로 사용되며, class는 객체 지향 프로그래밍에서 객체의 정의를 위해 사용된다. struct와 class의 주요 차이점은 기본 접근 제어 수준이다. struct는 기본적으로 public으로 정의되며, class는 기본적으로 private으로 정의된다. 이는 struct는 멤버 변수 및 함수가 외부에서 쉽게 액세스 될 수 있지만, class는 멤버 변수 및 함수에 대한 직접적인 액세스를 제한하기 때문이다. 또한 class는 상속, 다형성( 하나의 객체가 여러 가지 타입을 가질 수 있는 .. 더보기 최종프로젝트 #3 3. 접근제한자란 무엇이며, 각각 어떤 차이가 있는지 비교해서 설명해 주세요. 우선 접근제한자는 변수, 메서드, 클래스 등의 멤버에 대한 접근을 제어하는데 사용된다. public : 모든 외부에서 접근 가능 private : 같은 클래스 내에서만 접근이 가능 protected : 파생 클래스에서도 접근이 가능 internal : 동일한 어샘블리 내에서만 접근이 가능 어셈블리 : 하나로 컴파일된 실행 파일이나 라이브러리(exe, dll) 이동 로직 오늘은 이동 로직을 조금 구현해 보았다. w, a, s, d로 간단하게 움직일 수 있도록 하였다. 하지만 지금 만들려는 게임 특성상 한번 이동하면 벽에 부딪쳐 멈출 때까지 다른 방향으로 이동하면 안 된다. 지금 내가 짠 코드에서는 벽에 붙어있기만 하면 이동을 활.. 더보기 최종 프로젝트 #2 1. float와 int의 표현 가능한 수의 범위가 다른 이유는 무엇인가요? 자료형 데이터는 실수형과 정수형으로 나뉘는데 이 때 실수형 float형은 int형과 달리 부동소수점이라는 개념을 사용한다. 부동소수점이란 실수를 표현할 때 소수점의 위치를 고정하지 않는 것인데 이는 넓은 범위의 수를 표현할 수 있다는것을 의미한다. 가령 123.456의 경우 고정소수점에서는 정수 부분 123과 소수 부분 456을 나눠서 표현해야만 한다. 결국 한정된 비트에 정수와 소수 부분을 분할해 배치할 경우 고정소수점이 나타낼 수 있는 범위가 무척 한정된다. 그에 비해 부동소수점에서는 123.456을 123456이라는 유효숫자와 3이라는 소수점 위치를 통해서 고정소수점보다 훨씬 넓은 범위의 수를 표현할 수 있는 장점이 있다... 더보기 이전 1 2 3 4 ··· 6 다음