0Pricing
C# Academy · 강의

값 튜플 기초

그룹화된 데이터를 위한 가벼운 튜플을 만듭니다.

값 튜플 기초은(는) CoddyKit의 무료 C# Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 C# Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

튜플이란 무엇인가요

튜플은 클래스를 정의하지 않고 여러 값을 하나의 가벼운 묶음으로 그룹화합니다. C# 값 튜플은 괄호를 사용합니다: (int, string).

using System;

class Program
{
    static void Main()
    {
        (int, string) pair = (1, "one");
        Console.WriteLine(pair.Item1 + " = " + pair.Item2);
    }
}

값 튜플 만들기

값을 괄호 안에 작성하세요. 컴파일러가 값을 바탕으로 튜플 형식을 추론합니다.

using System;

class Program
{
    static void Main()
    {
        var point = (3, 4);
        Console.WriteLine("x=" + point.Item1 + ", y=" + point.Item2);
    }
}

요소에 접근하기: 항목 1, 항목 2

이름이 없는 튜플 요소에는 순서대로 Item1, Item2, Item3 등을 통해 접근합니다.

using System;

class Program
{
    static void Main()
    {
        var rgb = (255, 128, 0);
        Console.WriteLine("R=" + rgb.Item1 + " G=" + rgb.Item2 + " B=" + rgb.Item3);
    }
}

튜플은 여러 형식을 담을 수 있습니다

각 요소의 형식은 서로 달라도 됩니다. 튜플에는 숫자, 문자열, 불리언 등을 함께 담을 수 있습니다.

using System;

class Program
{
    static void Main()
    {
        var user = ("Ada", 36, true);
        Console.WriteLine(user.Item1 + ", age " + user.Item2 + ", active=" + user.Item3);
    }
}

튜플은 변경할 수 있습니다

각 ItemN이 쓰기 가능한 필드이므로 값 튜플 요소에는 다시 할당할 수 있습니다.

using System;

class Program
{
    static void Main()
    {
        var score = (player: "A", points: 0);
        score.points = 10;
        score.points += 5;
        Console.WriteLine(score.player + ": " + score.points);
    }
}

지역 묶음으로 사용하는 튜플

튜플은 전용 형식을 만들지 않고 메서드 안에서 값을 임시로 그룹화할 때 유용합니다.

using System;

class Program
{
    static void Main()
    {
        var range = (min: 5, max: 50);
        int span = range.max - range.min;
        Console.WriteLine("Span: " + span);
    }
}

튜플 비교하기

값 튜플은 같음 비교를 지원합니다. 서로 대응하는 모든 요소가 같으면 두 튜플은 같습니다.

using System;

class Program
{
    static void Main()
    {
        var a = (1, 2);
        var b = (1, 2);
        var c = (1, 3);
        Console.WriteLine(a == b);
        Console.WriteLine(a == c);
    }
}

튜플 중첩하기

튜플 요소 자체가 튜플일 수 있으므로, 작은 구조적 그룹을 만들 수 있습니다.

using System;

class Program
{
    static void Main()
    {
        var line = (start: (0, 0), end: (3, 4));
        Console.WriteLine("From " + line.start.Item1 + "," + line.start.Item2 +
            " to " + line.end.Item1 + "," + line.end.Item2);
    }
}

컬렉션에서 사용하는 튜플

클래스를 만들지 않고 짝을 이루는 데이터를 함께 유지하려면 목록에 튜플을 저장할 수 있습니다.

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var scores = new List<(string, int)>
        {
            ("Ann", 90),
            ("Bob", 85)
        };
        foreach (var s in scores)
            Console.WriteLine(s.Item1 + ": " + s.Item2);
    }
}

값 의미론

값 튜플은 구조체이므로 할당할 때 값이 복사됩니다. 복사본을 변경해도 원본에는 영향을 주지 않습니다.

using System;

class Program
{
    static void Main()
    {
        var original = (n: 1);
        var copy = original;
        copy.n = 99;
        Console.WriteLine("original=" + original.n + ", copy=" + copy.n);
    }
}

함께 적용하기

값 튜플은 메서드 안의 수명이 짧은 데이터나 간단한 목록에 적합한, 빠르게 만들 수 있는 형식이 지정된 그룹을 제공합니다.

using System;

class Program
{
    static void Main()
    {
        var result = (count: 3, total: 150);
        double average = (double)result.total / result.count;
        Console.WriteLine("Average: " + average.ToString("0.0"));
    }
}

빠른 확인

값 튜플에 대한 이해도를 확인해 보세요.

복습

값 튜플은 클래스를 사용하지 않고 (int, string)처럼 괄호 안에 여러 값을 묶습니다. 이름이 없는 요소에는 Item1, Item2로 접근합니다. 튜플은 값 의미론을 따르는 변경 가능한 구조체이며 같음 비교를 지원합니다. 빠른 지역 그룹을 만들 때 적합합니다.

using System;

class Program
{
    static void Main()
    {
        var t = (1, "one", true);
        Console.WriteLine(t.Item1 + " " + t.Item2 + " " + t.Item3);
    }
}

자주 묻는 질문

“값 튜플 기초” 강의는 무료인가요?

네 — “값 튜플 기초” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 C# Academy 강의 전체를 잠금 해제할 수 있습니다. C# Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“값 튜플 기초”에서 뭘 배우나요?

그룹화된 데이터를 위한 가벼운 튜플을 만듭니다. 브라우저에서 직접 실행하는 실습 코드로 C# Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

C# Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 C# Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“값 튜플 기초” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 C# Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 C# Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 값 튜플 기초
  2. 이름이 지정된 튜플 요소
  3. 구조 분해
  4. 메서드 반환값으로 사용하는 튜플
← C# Academy(으)로 돌아가기