C#고급 주제

tuple 과 deconstruction

여러 값을 임시로 묶어 반환하거나 구조를 분해해서 받을 때 자주 쓰는 tuple과 deconstruction 패턴입니다.

마지막 수정 2026년 3월 16일

기본 패턴

csharp
(int width, int height) size = (1920, 1080);

var (x, y) = GetPoint();

static (int x, int y) GetPoint()
{
    return (10, 20);
}

설명

  • tuple은 여러 값을 가볍게 묶어서 전달할 때 편합니다.
  • 메서드에서 두세 개 값을 한 번에 반환할 때 자주 씁니다.
  • deconstruction은 tuple이나 특정 객체를 여러 변수로 나눠 받는 문법입니다.

짧은 예제

csharp
var (name, age) = ("Mina", 26);
Console.WriteLine($"{name} / {age}");

빠른 정리

문법용도
(int x, int y)이름 있는 tuple 타입 선언
var (x, y)구조 분해 할당
return (10, 20)여러 값 반환

주의할 점

tuple은 빠르고 가볍지만, 의미가 복잡해지기 시작하면 class나 record로 바꾸는 편이 더 읽기 쉽습니다.