C#프로그래밍

this , 매개변수 있는 메서드, 매개변수도 있고 반환값도 있는 메서드, 반환값만 있는 메서드, 메서드의 종류

다모아 2023. 7. 21. 14:54

Main 메서드 [공통]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Starcraft
{
    internal class Program
    {
        static void Main(string[] args)
        {
            new App();
        }
    }
}

 

1. App 클래스 [this]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Starcraft
{
    internal class App
    {
        //생성자 
        public App()
        {
            BreadMachine machine1 = new BreadMachine("6a199236-c5bb-478b-9946-6db75ee75cd3");
            Console.WriteLine("machine1.serialNumber: {0}", machine1.serialNumber);

            //BreadMachine machine2 = new BreadMachine("5bcbb381-19f2-4d48-84f8-6340bc35e49e");
            //Console.WriteLine("machine2.serialNumber: {0}", machine2.serialNumber);
        }
    }
}

 

1. BreadMachine 클래스 [this]

using System;

namespace Starcraft
{
    internal class BreadMachine
    {
        public string serialNumber;

        //생성자 메서드 
        public BreadMachine(string serialNumber) 
        {
            this.serialNumber = serialNumber;

            Console.WriteLine("빵기계가 생성되었습니다. {0}", serialNumber);
        }
    }
}

 

2. App 클래스 [매개변수 있는 메서드]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Starcraft
{
    internal class App
    {
        //생성자 
        public App()
        {
            BreadMachine machine1 = new BreadMachine("6a199236-c5bb-478b-9946-6db75ee75cd3");
            Console.WriteLine("machine1.serialNumber: {0}", machine1.serialNumber);
            machine1.MakeBread("밀가루");
            machine1.MakeBread("쌀가루");
            //BreadMachine machine2 = new BreadMachine("5bcbb381-19f2-4d48-84f8-6340bc35e49e");
            //Console.WriteLine("machine2.serialNumber: {0}", machine2.serialNumber);
        }
    }
}

 

2. BreadMachine 클래스 [매개변수 있는 메서드]

using System;

namespace Starcraft
{
    internal class BreadMachine
    {
        //맴버 변수
        public string serialNumber;

        //생성자 메서드 
        public BreadMachine(string serialNumber) 
        {
            this.serialNumber = serialNumber;

            Console.WriteLine("빵기계가 생성되었습니다. {0}", serialNumber);
        }

        //맴버 메서드
        public void MakeBread(string ingredientName)
        {
            Console.WriteLine("{0}로 빵을 만듭니다~", ingredientName);
        }

    }
}

 

3. App 클래스 [매개변수도 있고 반환값도 있는 메서드]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Starcraft
{
    internal class App
    {
        //생성자 
        public App()
        {
            BreadMachine machine1 = new BreadMachine("6a199236-c5bb-478b-9946-6db75ee75cd3");
            Console.WriteLine("machine1.serialNumber: {0}", machine1.serialNumber);
            Bread bread = machine1.MakeBread("쌀가루");
            Console.WriteLine(bread);  //Bread클래스의 인스턴스 출력  

            //machine1.MakeBread("쌀가루");
            //BreadMachine machine2 = new BreadMachine("5bcbb381-19f2-4d48-84f8-6340bc35e49e");
            //Console.WriteLine("machine2.serialNumber: {0}", machine2.serialNumber);
        }
    }
}

 

3. BreadMachine 클래스 [매개변수도 있고 반환값도 있는 메서드]

using System;

namespace Starcraft
{
    internal class BreadMachine
    {
        //맴버 변수
        public string serialNumber;

        //생성자 메서드 
        public BreadMachine(string serialNumber) 
        {
            this.serialNumber = serialNumber;

            Console.WriteLine("빵기계가 생성되었습니다. {0}", serialNumber);
        }

        //맴버 메서드
        public Bread MakeBread(string ingredientName)
        {
            Console.WriteLine("{0}로 빵을 만듭니다~", ingredientName);
            return new Bread(); //값 (Bread클래스의 인스턴스)
        }

    }
}

 

3. Bread 클래스 [매개변수도 있고 반환값도 있는 메서드]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Starcraft
{
    internal class Bread
    {
        //생성자 
        public Bread()
        {
            Console.WriteLine("빵이 생성 되었습니다.");
        }
    }
}

 

4. App 클래스 [반환값만 있는 메서드]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LearnDotnet
{
    internal class App
    {
        //데이터

        //생성자
        public App()
        {
            BreadMachine machine1 = new BreadMachine("f978ab8e-c951-49be-815e-dab23ea47a09"); // new 키워드로 BreadMachine클래스의 인스턴스를 생성하고 생성자를 호출
            Console.WriteLine("machine1.serialNumber: {0}", machine1.GetSerialNumber());
            Bread bread = machine1.MakeBread("밀가루"); 
            Console.WriteLine(bread);// Bread클래스의 인스턴스

            //machine1.MakeBread("쌀가루");
            //BreadMachine machine2 = new BreadMachine("141ee12e-e4ef-41bc-bb7d-4b9b1fff27d1");
            //Console.WriteLine("machine2.serialNumber: {0}",machine2.serialNumber);
        }
        //기능
    }
}

 

4. BreadMachine 클래스 [반환값만 있는 메서드]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LearnDotnet
{
    internal class BreadMachine
    {
        //멤버변수
        private string serialNumber;
        

        //생성자 메서드
        public BreadMachine(string serialNumber)
        {
            this.serialNumber = serialNumber;
            Console.WriteLine("빵기계가 생성되었습니다.{0}", serialNumber);
        }

        //멤버 메서드
        public Bread MakeBread(string ingredientName)
        {
            Console.WriteLine("{0}로 빵을 만듭니다.", ingredientName);
            return new Bread(); //값 (Bread클래스의 인스턴스)
        }

        //반환값만 있는 메서드
        //시리얼넘버만 반환
        public string GetSerialNumber()
        {
            //반환 값
            return this.serialNumber;
        }
    }
}

 

4. Bread 클래스 [반환값만 있는 메서드]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LearnDotnet
{
    internal class Bread
    {
        //멤버 변수
        //생성자 메서드
        public Bread()
        {
            Console.WriteLine("빵이 생성 되었습니다.");
        }
        //멤버 메서드
    }
}

 

5. 메서드의 종류

 

기본형 메서드

void Method()

{

}

매개변수만 있는 메서드

void Method(int num)

{

}

반환값만 있는 메서드

int Method()

{

return 100;

}

매개변수 + 반환값이 있는메서드

string Method(int num)

{

return string.Format("num: {0}", num);

}

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

저글링 vs 마린  (0) 2023.07.21
플레이어, 몬스터, 무기[출력만, 입력포함]  (0) 2023.07.21
스타크래프트 유닛, 건물  (0) 2023.07.21
클래스 정의[중요]  (0) 2023.07.21
메서드  (0) 2023.07.21