본문 바로가기
C# 공부

C# 기본기 03 - 메서드와 구조체

by 나노다 2025. 2. 10.

메서드

[접근 제한자] [반환 타입] [메서드 이름]([매개변수])
{
    // 메서드 실행 코드
}

접근 제한자 Access Modifier

메서드에 접근할 수 있는 범위, public, private, protected 등등을 활용

반환 타입 Return Type

메서드 반환 값의 자료 타입 지정, 반환 값이 없는 메서드인 경우 void

/* 반환 값이 없는 경우 */
void PrintFullName(string firstName, string lastName)
{
    Console.WriteLine("Full Name: " + firstName + " " + lastName);
}

PrintFullName("John", "Doe");

/* 반환 값이 있는 경우 */
int AddNumbers(int a, int b)
{
    int sum = a + b;
    return sum;
}

int result = AddNumbers(10, 20);
Console.WriteLine("Sum: " + result);

매개변수 Parameters

잘 아는 그 매개변수인디, 자료타입을 명시해줘야한다는 점에서 자바스크립트랑 다름!!

메서드 오버로딩
동일 이름의 메서드를 매개변수 유형을 달리 해 다중 정의하는 것!!
매개변수의 개수나 자료타입, 순서 등을 다르게 정의
메서드 호출 시 입력된 매개변수 유형에 따라 적절한 메서드가 취사 실행됨!!
대개 다양한 유형의 입력 값에 대해 동일한 기능을 하는 메서드가 필요할 때 활용하곤 함

구조체

구조체의 개념

  • 여러 데이터를 하나의 사용자 정의 자료형으로 묶기 위한 방법
  • 변수와 메서드로 구성 (자바스크립트의 Class와 유사)
struct Person
{
    public string Name;
    public int Age;

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

구조체의 활용

  • 구조체를 담을 변수를 선언해 사용 (자바스크립트에서 인스턴스 만들 듯)
  • 변수나 메서드에 접근할 때 온점 활용
/* 구조체이름 변수명 */
Person person1;

/* 구조체 변수에 접근 */
person1.Name = "John";
person1.Age = 25;

/* 구조체 메서드 실행 */
person1.PrintInfo();