본문 바로가기
프로그래밍/C#

[C#] 클래스의 응용

by SUGI_ 2023. 7. 6.

{ 객체 초기화자와 익명 형, 식 형식 멤버 => }

 

객체 초기화자 , 익명형

namespace 객체초기화자
{
    class Animal
    {
        public int age;
        public string name;
    }

    internal class Program
    {
        static void Main(string[] args)
        {
            //객체 초기화방법
            Animal myanimal = new Animal { age = 10, name = "tama" };

            myanimal.age = 20;
            
            Console.WriteLine(myanimal.age);
            Console.WriteLine(myanimal.name);

            //익명형 : 이름이 없는 클래스를 만들 수 있음 / 협업시 힘들 수 있다.
            var myanimal2 = new { age = 10, name = "tama" };

            myanimal2.age = 20; //[컴파일 에러] 익명형 속성은 읽을 수만 있음. get

            Console.WriteLine(myanimal2.age);
            Console.WriteLine(myanimal2.name);
        }
    }
}

식 형식 멤버

: 메소드 본체가 식 하나뿐일 때, 메소드 정의를 간략하게 할 수 있음

 

=> 를 사용해 메소드 본체 정의하기

namespace 식형식멤버
{
    class Animal
    {
        public string name;
        /*public void print()
        {
            Console.WriteLine("이름 : " + name);
        }*/

        public void print() => Console.WriteLine("이름 : " + name);
        public string Name
        {
            get => name;
            set => name = value;
        }
    }

    class Cale
    {
        public int Add(int a, int b) => a + b;
    }
  

    internal class Program
    {
        static void Main(string[] args)
        {
            Animal animal = new Animal();
            animal.Name = "열공중 유니티코리아!";
            animal.print();

            Cale cale = new Cale();
            int a = cale.Add(1, 2);
            Console.WriteLine("a : " + a);
        }
    }
}
728x90

'프로그래밍 > C#' 카테고리의 다른 글

[유니티] Rigidbody 중력 제어  (0) 2023.07.27
[C#] 문자열의 응용  (0) 2023.07.07
[C#] 파일과 스트림  (0) 2023.07.06
[C#] 클래스의 응용  (0) 2023.07.05