목록면접 질문 정리 (21)
Deff_Dev
클래스를 다른 클래스로 상속하기 위한 방법은 무엇인가요?public class C {}public class D : C // 상속{ }클래스를 선언할 때, 클래스 이름 옆에 : 상속 받을 클래스 이름 작성하면된다.클래스 상속에서 다이아몬드 문제(diamond problem)가 발생하는 이유와 이를 해결하는 방법에 대해 설명해주세요.다이아몬드 문제는 두 개의 다른 하위 클래스가 동일한 상위 클래스를 상속받고, 이를 다시 다중 상속받는 클래스에서 발생한다. 이러한 구조로 인해 다중 상속을 받는 클래스는 동일한 상위 클래스의 인스턴스를 두 번 상속받게 되어, 메서드 호출이나 속성 참조 시 어떤 경로를 통해 상속받은 것인지 모호해진다.C#, Java은 다중 상속을 지원하지 않고 단일 상속만 지원하여 다이아..
1. 참조 형식과 값 형식에 대해 설명해주세요. public class MyClass{ public int Value;}// 참조 형식 변수 생성 및 초기화MyClass obj1 = new MyClass();obj1.Value = 10;// 참조 형식 변수를 다른 변수에 할당하면 같은 객체를 가리키는 참조가 복사MyClass obj2 = obj1;obj1.Value = 20; // obj1이 가리키는 객체의 속성 변경Debug.Log(obj1.Value); // 출력: 20 (객체를 공유하므로 obj1과 obj2는 같은 객체를 참조)Debug.Log(obj2.Value); // 출력: 20참조 형식데이터를 힙 메모리에 저장하고 스택에는 데이터에 대한 참조(주소)를 저장한다.class, interfa..
1. 콜백이란 무엇인가요? 콜백을 사용해본 경험이 있을까요? 콜백 : 피호출자가 호출자의 메소드를 호출하는 것콜백은 특정 이벤트나 조건이 발생했을 때 호출되는 함수로, 주로 비동기 프로그래밍에서 사용된다. (작업 완료 시점을 명확하게 처리 가능)위 처럼 보통 매개 변수에 콜백 함수를 넣어서 사용한다. 사용MonoBehaviour 이벤트 함수 (Awake, Start, Update …)UI 이벤트 콜백Button.OnClickSlider.OnValueChanged물리 처리 관련 콜백OnCollisionEnter/Exit/StayOnTriggerEnter/Exit/Stay2. 델리게이트(delegate; 대리자)란 무엇인가요?함수에 대한 참조를 저장하고 호출할 수 있는 객체하나의 델리게이트에 반환 타입과 매..
1. SOLID 원칙에 대해 설명해주세요.단일 책임의 원칙 (SRP)하나의 클래스는 하나의 목적을 위해 생성한다.⇒ 하나의 클래스는 하나의 기능만 담당해야 된다는 얘기개방 폐쇄의 원칙 (OCP)확장에는 열려있고, 수정에는 닫혀있어야 한다.⇒ 기능이 추가될 때, 원래 존재하는 클래스는 수정하지말고 새로운 클래스를 추가해야 된다는 얘기리스코프 치환의 법칙 (LSP)서브 타입(상속받은 하위 클래스)은 어디서나 자신의 기반 타입(상위 클래스)으로 교체할 수 있어야 한다..⇒ 자식 클래스는 부모 클래스의 기능을 확장하되, 부모 클래스가 제공하는 모든 기능을 동일하게 제공하고 일관성을 유지하라는 말인터페이스 분리의 원칙 (ISP)클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다.⇒ 인터페이스에 하..
using System;using UnityEngine;public class Character{ // static, 접근 제한자 public static int Num { get; private set; } public string Name { get; private set; } public Character(string name) // 생성자 { this.Name = name; Num++; }}public class Test : MonoBehaviour{ private void Start() { // 객체 생성 Character deff = new Character("Deff"); Characte..