81.내일배움캠프 73일차 TIL <Unity Unity 2D 팀프로젝트- MartialGod:Reborn - 22일차> 07/22

정광훈(Unity_9기)·2025년 7월 22일

TIL (Today I Learned)

목록 보기
82/110
post-thumbnail

2차 모의면접

확장 메서드 -> 요즘 많이 사용하는 트렌드
특정 클래스에 대해 내가 원하는 커스텀 메서드를 만듦. -> 직접 만들어서 사용해보는 것도 좋을 것.

확장 메서드:
기존 클래스의 코드를 수정하지 않고도 새로운 메서드를 추가하는 것처럼 사용할 수 있게 해줍니다.
마치 해당 클래스에 속한 메서드인 것처럼 호출할 수 있어서 코드의 가독성과 재사용성을 크게 높여줍니다.


콜백은 사용경험을 다른 것으로 바꾸기.


박싱, 언박싱은 기초여서 꼭 알아야 함.

  • 박싱(Boxing)과 언박싱(Unboxing)은 값 형식과 참조 형식을 변환하는 과정에서 메모리에 영향을 미치는 연산입니다.
  • 박싱은 값 형식을 힙 메모리에 객체로 할당하고, 해당 객체의 참조를 반환하는 과정입니다.
    언박싱은 힙 메모리에 있는 객체에서 값 형식 데이터를 꺼내어 스택 메모리에 할당하는 과정입니다.

상속 다이아몬드 문제 -> C#에서 이것 때문에 멀티 상속을 막았다.
그래서 인터페이스는 다중 상속이 가능하기 때문에 인터페이스를 활용한다.

  • 다이아몬드 문제는 다중 상속(multiple inheritance)에서 발생하는, 동일한 부모 클래스를 가진 두 개의 자식 클래스를 다시 하나의 자식 클래스가 상속받을 때 발생합니다.

    이로 인해 부모 클래스의 멤버가 중복 상속되어 어떤 멤버를 사용해야 할지 모호해지는 문제가 발생합니다.

  • C#의 기본 원칙: C#은 클래스의 다중 상속을 허용하지 않습니다. 모든 클래스는 하나의 직접적인 부모 클래스만을 가질 수 있습니다. 이로 인해 클래스 상속에서의 다이아몬드 문제는 원천적으로 방지됩니다.

  • 인터페이스의 다중 구현: C#에서 클래스는 여러 인터페이스를 구현할 수 있습니다. 인터페이스는 계약만을 정의하고 구현을 포함하지 않기 때문에, 다이아몬드 문제에서 발생하는 "어떤 구현을 상속받아야 하는가"라는 모호성이 발생하지 않습니다.

0개의 댓글