C#/클래스와 객체지향
C# 클래스와 객체지향 - 04. 메서드
tita
2024. 5. 28. 15:07
메서드의 기본적인 형태에 대해 알아보겠습니다.
[접근 제한자] [반환형] [메서드 이름] ([매개변수])
{
[메서드 코드]
}
메서드는 함수와 같다고 볼 수 있습니다.
다양한 예제들을 통해 메서드의 생성과 사용을 알아보겠습니다.
class Program
{
class Test
{
//Power 메서드는 매개변수로 들어온 int x 를 제곱하는 메서드 입니다.
public int Power(int x)
{
return x * x;
}
}
static void Main(string[] args)
{
// Power 메서드는 Test 클래스 내부에 생성되어 있기 때문에 인스턴스를 생성해야 합니다.
Test test = new Test();
Console.WriteLine(test.Power(10));
console.WriteLine(test.Power(20));
}
}
하나의 메서드가 여러 개의 매개변수를 가지거나, 아무것도 반환하지 않을 수도 있습니다.
class Program
{
class Test
{
// 매개변수로 들어온 값 두개를 리턴값으로 보내는 메서드 입니다.
public int Multi(int x, int y)
{
int xy = x * y;
return xy;
}
// 리턴값이 없는 메서드는 반환형을 void로 지정해줍니다.
public void Print()
{
Console.WrtieLine("print 메서드 호출");
}
}
static void Main(string[] args)
{
Test test = new Test();
Console.WriteLine(test.Multi(10, 100);
test.Print();
Console.WriteLine(test.Multi(7, 8);
test.Print();
}
}
/*
[실행 결과]
1000
print 메서드 호출
56
print 메서드 호출
*/
[static 키워드]
클래스의 매개변수나 메서드는 static 키워드를 사용해서 선언하면 인스턴스를 생성하지 않고도 사용할 수 있습니다.
static 키워드를 사용해서 생성한 매개변수나 메서드는 프로그램의 실행과 동시에 메모리에 올라가게 때문에 인스턴스화해서 메모리에 올리는 별도의 작업( new Math() )을 수행하지 않아도 됩니다.
static 을 사용하여 생성하는 방법은 다음과 같습니다.
[접근 제한자] static [반환형] [메서드 이름] ([매개변수])
{
}
간단한 예제를 들어 보겠습니다.
class Program
{
class MyMath
{
public static int Abs(int input)
{
if(input < 0)
{
return -input;
}
else
{
return input;
}
}
}
static void Main(string[] args)
{
Console.WriteLine(MyMath.Abs(1000));
Console.WriteLine(MyMath.Abs(-123));
}
}
/*
[실행 결과]
1000
123
*/