C# 문법 2주차-메서드와 구조체

C014·2023년 11월 10일

C#

목록 보기
6/22

메서드란?
일련의 코드를 하나의 이름으로 묶은것을 말합니다.

class 클래스 이름
{
    [한정자] [반환 형식] [메서드 이름] ( [매개 변수] )
    {
         //실행 코드
         return [반환 형식 결과];
    }
}

여기서 한정자는 다음을 뜻합니다.
public=공개(모두 사용)
private=일부 공개(자신이 만들어진 클래스나 상속받는 하위 클래스에서 사용)
protected=비공개(자신의 클래스에서만 사용)


반환 형식
-void, int, string 등 자료형이 올수있습니다.


매개변수
-메서드의 마지막에 오는 ()안에코드에서 사용할 데이터를 받습니다.


static
-정적할당은 프로그램이 처음 실행되면 자동으로 메모리에 데이터가 저장됩니다.





메서드 오버로딩
-사용할때 같은 메서드지만 매개변수의 형식에 따라 각각 다른 대응을 할 수있습니다.
예를 들면 Console.WriteLine의 메서드를 사용할때 int, string 등등
다양한 매개변수를 넣어 사용할 수 있습니다.

void PrintMessage(string message)
{
    Console.WriteLine("Message: " + message);
}

void PrintMessage(int number)
{
    Console.WriteLine("Number: " + number);
}




재귀호출
-재귀호출이란 메서드가 자기 자신을 호출하는것을 뜻합니다.
호출된 메서드를 순서대로 쌓고 메서드를 반환하면서 스택에서 순서대로 제거되는 방식으로 작동합니다.

void CountDown(int n)
{
    if (n <= 0)
    {
        Console.WriteLine("Done");
    }
    else
    {
        Console.WriteLine(n);
        CountDown(n - 1);  // 자기 자신을 호출
    }
}

// 메서드 호출
CountDown(5);

재귀호출은 반드시 종료 조건을 명확하게 정의해주어야 합니다.



구조체
-구조체는 사용자가 정의하는 자료형입니다.
value 형식이며 변수와 메서드로 구성되고, struct으로 선언할 수 있습니다.

struct Person
{
    public string Name;
    public int Age;

    public void PrintInfo()
    {
        Console.WriteLine($"Name: {Name}, Age: {Age}");
    }
}

구조체에 접근할때는 .을 사용하면 됩니다.

person1.PrintInfo();
profile
doro

0개의 댓글