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 리뷰를 받을 수 있습니다.
- 타이틀 케이스 모든 단어의 첫 글자를 대문자로 만드세요. 쉬움
- Acronym Generator Create an acronym from the first letter of every word, in uppercase. 쉬움