0Pricing
C# Academy · 강의

식 본문 멤버

간결한 속성과 메서드를 작성합니다.

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

더 간결한 구문

식 본문 구문은 =>를 사용해 멤버를 하나의 식으로 정의하며, 완전한 { ... } 본문을 대신합니다. 짧은 멤버를 간결하고 읽기 쉽게 만들 수 있습니다.

using System;

class Greeter
{
    public string Hello() => "Hi there!";
}

class Program
{
    static void Main()
    {
        var g = new Greeter();
        Console.WriteLine(g.Hello());
    }
}

식 본문 메서드

본문이 하나의 식으로 이루어진 메서드는 =>를 사용할 수 있습니다. 식의 결과가 반환값이 됩니다.

using System;

class MathHelper
{
    public int Square(int x) => x * x;
    public int Add(int a, int b) => a + b;
}

class Program
{
    static void Main()
    {
        var m = new MathHelper();
        Console.WriteLine(m.Square(6));
        Console.WriteLine(m.Add(3, 4));
    }
}

식 본문 읽기 전용 속성

계산된 읽기 전용 속성은 get { return ...; } 대신 =>를 사용할 수 있습니다.

using System;

class Rectangle
{
    public double Width { get; set; }
    public double Height { get; set; }
    public double Area => Width * Height;
}

class Program
{
    static void Main()
    {
        var r = new Rectangle { Width = 4, Height = 5 };
        Console.WriteLine("Area: " + r.Area);
    }
}

식 본문 가져오기 및 설정

뒷받침 필드와 함께 사용할 때 유용하도록 get 및 set 접근자에도 각각 식 본문을 지정할 수 있습니다.

using System;

class Person
{
    private string _name;
    public string Name
    {
        get => _name;
        set => _name = value.Trim();
    }
}

class Program
{
    static void Main()
    {
        var p = new Person();
        p.Name = "  Niki  ";
        Console.WriteLine("[" + p.Name + "]");
    }
}

계산된 문자열 반환하기

식 본문 속성은 전체 이름이나 레이블처럼 형식이 지정된 파생 값을 표현할 때 특히 유용합니다.

using System;

class Customer
{
    public string First { get; set; }
    public string Last { get; set; }
    public string Display => First + " " + Last;
}

class Program
{
    static void Main()
    {
        var c = new Customer { First = "Ada", Last = "Lovelace" };
        Console.WriteLine(c.Display);
    }
}

조건을 포함한 식 본문

하나의 식에 조건부(삼항) 연산자를 포함하면 분기 논리를 한 줄에 작성할 수 있습니다.

using System;

class Account
{
    public decimal Balance { get; set; }
    public string Status => Balance >= 0 ? "OK" : "Overdrawn";
}

class Program
{
    static void Main()
    {
        var a = new Account { Balance = -20m };
        Console.WriteLine(a.Status);
    }
}

반환값이 없는 식 본문 메서드

작업을 수행하고 아무것도 반환하지 않는 메서드도 작업이 하나의 문장으로 이루어져 있다면 식 본문으로 작성할 수 있습니다.

using System;

class Logger
{
    public void Log(string msg) => Console.WriteLine("[LOG] " + msg);
}

class Program
{
    static void Main()
    {
        var log = new Logger();
        log.Log("Started");
    }
}

식 본문 생성자

할당 하나만 수행하는 생성자에도 화살표 구문을 사용할 수 있습니다.

using System;

class Point
{
    public int X { get; }
    public Point(int x) => X = x;
}

class Program
{
    static void Main()
    {
        var p = new Point(7);
        Console.WriteLine("X = " + p.X);
    }
}

NOT을 사용하지 않을 때

식 본문은 하나의 식에만 사용할 수 있습니다. 여러 문장, 반복문 또는 유효성 검사를 위한 분기가 필요하면 일반 블록 본문을 사용하세요.

using System;

class Calculator
{
    // Single expression -> arrow is fine
    public int Triple(int n) => n * 3;

    // Multiple statements -> use a block
    public int SumTo(int n)
    {
        int total = 0;
        for (int i = 1; i <= n; i++) total += i;
        return total;
    }
}

class Program
{
    static void Main()
    {
        var c = new Calculator();
        Console.WriteLine(c.Triple(4));
        Console.WriteLine(c.SumTo(5));
    }
}

한 클래스에서 여러 기능 결합하기

작은 클래스에서는 거의 모든 멤버에 화살표 구문을 사용해 상용구 코드를 크게 줄일 수 있습니다.

using System;

class Temperature
{
    public double Celsius { get; set; }
    public double Fahrenheit => Celsius * 9 / 5 + 32;
    public double Kelvin => Celsius + 273.15;
    public override string ToString() => Celsius + "C";
}

class Program
{
    static void Main()
    {
        var t = new Temperature { Celsius = 25 };
        Console.WriteLine(t + " = " + t.Fahrenheit + "F = " + t.Kelvin + "K");
    }
}

종합하기

간단한 가져오기 접근자, 도우미 및 한 줄 메서드는 식 본문 멤버로 깔끔하게 작성하고, 실제 논리에는 블록 본문을 사용하세요.

using System;

class Order
{
    public int Quantity { get; set; }
    public decimal UnitPrice { get; set; }
    public decimal Total => Quantity * UnitPrice;
    public bool IsLarge => Quantity > 10;
}

class Program
{
    static void Main()
    {
        var o = new Order { Quantity = 12, UnitPrice = 9.99m };
        Console.WriteLine("Total: " + o.Total + ", Large: " + o.IsLarge);
    }
}

간단한 확인

식 본문 멤버에 대한 이해도를 확인해 보세요.

복습

식 본문 멤버는 =>를 사용해 멤버를 하나의 식으로 정의합니다. 메서드, 읽기 전용 속성, 개별 가져오기 및 설정 접근자, 생성자에도 사용할 수 있습니다. 간결한 한 줄 코드에 사용하고, 여러 문장이 필요하면 블록 본문으로 전환하세요.

using System;

class Demo
{
    public int N { get; set; }
    public int Doubled => N * 2;
    public string Label() => "N is " + N;
}

class Program
{
    static void Main()
    {
        var d = new Demo { N = 9 };
        Console.WriteLine(d.Label() + ", doubled = " + d.Doubled);
    }
}

자주 묻는 질문

“식 본문 멤버” 강의는 무료인가요?

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

“식 본문 멤버”에서 뭘 배우나요?

간결한 속성과 메서드를 작성합니다. 브라우저에서 직접 실행하는 실습 코드로 C# Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

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

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

“식 본문 멤버” 강의는 얼마나 걸리나요?

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

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

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

이 강의의 모든 강의

  1. 자동 구현 속성
  2. 백업 필드를 사용하는 전체 속성
  3. 식 본문 멤버
  4. 인덱서
← C# Academy(으)로 돌아가기