중요한 C# 주제

C#의 확장 메서드(extension method)

이 레슨에서는 기존 string 타입을 고치지 않고 새 메서드를 추가합니다.

소개

확장 메서드(extension method)를 쓰면 string 같은 .NET 타입을 포함해 기존 타입에 메서드를 "추가"할 수 있습니다. 실제로는 static 메서드이지만 객체의 메서드와 같은 문법으로 호출하므로, 코드가 읽기 쉽고 찾기도 쉬워집니다.

Truncate의 첫 번째 매개변수 앞에 있는 this 키워드는 이것이 string 타입의 확장 메서드라는 뜻입니다. 그래서 Truncate가 문자열의 원래 메서드인 것처럼 "CodeUtility".Truncate(4)를 호출할 수 있습니다. 문자열을 4자로 자르고 말줄임표를 붙여 Code…가 됩니다. 원래 string 타입은 전혀 바뀌지 않습니다.

실행 가능한 C# 예제

C#
코드 실행 →
Program.cs
using System;

static class StringExtensions
{
    public static string Truncate(this string value, int length)
        => value.Length <= length ? value : value[..length] + "…";
}

class Program
{
    static void Main() => Console.WriteLine("CodeUtility".Truncate(4));
}
실행 결과
Code…

디버거로 연습하기

중요한 대입이나 조건에 중단점을 두고 Debug를 눌러 다음 줄로 넘어가기 전에 지역 변수 값을 확인하세요.

챌린지로 연습하기

이 레슨에서 배운 내용으로 실제 문제를 풀어 보세요. 모든 챌린지는 브라우저에서 실행되며 즉시 테스트와 AI 리뷰를 받을 수 있습니다.

모든 챌린지