
2차 모의면접
확장 메서드 -> 요즘 많이 사용하는 트렌드
특정 클래스에 대해 내가 원하는 커스텀 메서드를 만듦. -> 직접 만들어서 사용해보는 것도 좋을 것.
확장 메서드:
기존 클래스의 코드를 수정하지 않고도 새로운 메서드를 추가하는 것처럼 사용할 수 있게 해줍니다.
마치 해당 클래스에 속한 메서드인 것처럼 호출할 수 있어서 코드의 가독성과 재사용성을 크게 높여줍니다.
콜백은 사용경험을 다른 것으로 바꾸기.
박싱, 언박싱은 기초여서 꼭 알아야 함.
상속 다이아몬드 문제 -> C#에서 이것 때문에 멀티 상속을 막았다.
그래서 인터페이스는 다중 상속이 가능하기 때문에 인터페이스를 활용한다.
다이아몬드 문제는 다중 상속(multiple inheritance)에서 발생하는, 동일한 부모 클래스를 가진 두 개의 자식 클래스를 다시 하나의 자식 클래스가 상속받을 때 발생합니다.
이로 인해 부모 클래스의 멤버가 중복 상속되어 어떤 멤버를 사용해야 할지 모호해지는 문제가 발생합니다.
C#의 기본 원칙: C#은 클래스의 다중 상속을 허용하지 않습니다. 모든 클래스는 하나의 직접적인 부모 클래스만을 가질 수 있습니다. 이로 인해 클래스 상속에서의 다이아몬드 문제는 원천적으로 방지됩니다.
인터페이스의 다중 구현: C#에서 클래스는 여러 인터페이스를 구현할 수 있습니다. 인터페이스는 계약만을 정의하고 구현을 포함하지 않기 때문에, 다이아몬드 문제에서 발생하는 "어떤 구현을 상속받아야 하는가"라는 모호성이 발생하지 않습니다.