[C# 문법] 객체 초기화 구문

소개

안녕하세요. 오늘은 C# 문법에서 객체 초기화 구문을 보다 간단하게 하는 방법에 대해서 알려 드리려고 합니다. 객체 초기화 구문을 간단하게 하면 코드 가독성도 좋아진다는 장점도 있고, 현재 MSDN에서 C# 코딩 규칙 권고사항을 보게 되면 객체 초기화 구문은 간단하게 사용하라고 나와있습니다. 그러면 예제를 통해 이전의 객체 초기화 구문과, 보다 간단하게 객체를 초기화하여 사용 하는 방법을 보여 드리도록 하겠습니다.

이전 객체 초기화 구문

  • 먼저 Order, Customer, OrderItem 3개의 클래스를 만들어서 이전에 사용했던 방식대로 객체 초기화 구문을 작성해 보도록 하겠습니다.
using System;
using System.Collections.Generic;

namespace ConsoleApp6
{
    public class Order
    {
        public string OrderID { get; set; }
        public Customer Customer { get; set; }
        public List<OrderItem> Items { get { return Items; } }
    }

    public class OrderItem
    {
        public string ItemID { get; set; }
        public int Quantity { get; set; }
    }

    public  class Customer
    {
        public string Name { get; set; }
        public string Address { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Customer customer = new Customer();
            customer.Name = "범범조조";
            customer.Address = "수원";

            OrderItem orderItem = new OrderItem();
            orderItem.ItemID = "123";
            orderItem.Quantity = 3;

            OrderItem orderItem2 = new OrderItem();
            orderItem.ItemID = "1234";
            orderItem.Quantity = 1;

            Order order = new Order();
            order.OrderID = "zxc";
            order.Customer = customer;
            order.Items.Add(orderItem);
            order.Items.Add(orderItem2);
        }
    }
}

보다 간단한 객체 초기화 구문

  • 다음은 앞에서 작성한 예제 코드를 보다 간단한 구문으로 객체 초기화 한 구문 입니다.
using System;
using System.Collections.Generic;

namespace ConsoleApp6
{
    public class Order
    {
        public string OrderID { get; set; }
        public Customer Customer { get; set; }
        public List<OrderItem> Items { get { return Items; } }
    }

    public class OrderItem
    {
        public string ItemID { get; set; }
        public int Quantity { get; set; }
    }

    public  class Customer
    {
        public string Name { get; set; }
        public string Address { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Order order = new Order
            {
                OrderID = "zxc",
                Customer = new Customer { Name = "범범조조", Address = "수원" },
                Items =
                {
                    new OrderItem {ItemID = "123", Quantity = 3},
                    new OrderItem {ItemID = "1234", Quantity = 1}
                }
            };
        }
    }
}
  • 확실히 이전 방법보다는 코드 가독성이 높다는 것을 알 수 있습니다.
  • 들여쓰리를 함으로써 객체의 구조가 더욱 명확히 드러나고 반복 코드도 준다는 장점이 있습니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY