.NET

C# 고급 기능

Pattern matching, record, tuple, deconstruction, local function, ref/out 매개변수

20 면접 질문·
Mid-Level
1

C#의 record란 무엇인가요?

답변

record는 C# 9에서 도입된 불변 참조 형식으로, 값 기반 등가성을 가진 데이터 형식을 간결한 구문으로 생성할 수 있습니다. 참조 등가성을 사용하는 일반 class와 달리 record는 속성의 값을 비교합니다. DTO, value object 및 값 기반 등가성이 바람직한 불변 형식에는 record를 사용하세요.

2

C#에서 out과 ref의 차이점은 무엇인가요?

답변

out 매개변수는 메서드 호출 전 초기화가 필요하지 않지만 메서드 내에서 반드시 할당해야 하며, ref는 호출 전 초기화가 필요하고 메서드 내에서 수정될 수도 있고 그렇지 않을 수도 있습니다. 둘 다 참조로 전달하지만 out은 여러 값을 반환하는 데 최적화되어 있고 ref는 기존 변수를 수정하는 데 사용됩니다. 여러 결과를 반환하는 메서드에는 out을, 기존 값의 수정이 필요할 때는 ref를 사용하세요.

3

C#에서 pattern matching이란 무엇인가요?

답변

pattern matching은 값을 다양한 패턴(형식, 값, 속성)과 대조하고 일치하는 패턴에 따라 코드를 실행할 수 있는 기능입니다. C# 7에서 도입되어 이후 버전에서 향상되었으며, switch expression, property pattern, type pattern으로 복잡한 조건 구조를 단순화합니다. 복잡한 if-else 체인을 대체하고 코드 가독성을 향상시키기 위해 pattern matching을 사용하세요.

4

C#의 tuple이란 무엇이며 어떻게 선언하나요?

5

C#의 local function이란 무엇인가요?

+17 면접 질문

다음 면접을 위해 .NET을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기