[3.10] 메소드 Method
쉽게 말하면 중고등학교때 배웠던 함수이다.
y=2x라는 함수는 x라는 int형 매개변수를 받아 2를 곱하고 반환한다는 뜻이다.
매개변수 1을 넣으면 2을 반환한다.
수학적 의미 | 프로그래밍 |
y = 5x | int MultipleNum(int a){ int result = a * 5; return result; } //혹은 int MultipleNum(int a){ return a * 5; } //혹은 |
특정 기능을 반복적으로 수행하려고 할 때 쓰면 편리하다.
(ex. 많은 유리수(약 10억개)를 입력받는데 소수 둘째자리까지 반올림한 값이 필요할 때)
*문법
접근제한자 반환타입 메소드이름(매개변수타입1 매개변수이름1, 매개변수타입2 매개변수이름2, ...)
{
//매개변수 부분은 비워놔도 됨.
//메소드의 이름은 대문자로 시작하고 동사로 시작함.
//반환타입은 var 혹은 object가 될 수 없음
//반환할 값이 없을 때는 void
//한 메소드에 return이 하나일 필요는 없다. 단 하나의 return에는 값 하나만 반환해야한다. (if문에 따라 반환값을 달리할 수 있다)
}
접근제한자
- private : 외부 클래스에서 이 메소드에 접근할 수 없음. (호출이 불가능함. set & get 함수를 사용해서 접근해야함.)
- public : 외부 클래스에서 이 메소드에 접근가능. (호출이 가능함. 보안에 취약함)
접근제한자는 생략이 가능하며, 생략시 private로 설정됨.
*호출
- 반환값이 없는 메소드 : MethodName();
- 반환값이 있는 메소드 : int num = MethodName(a);
EX) 정수 두 개를 받아 두 정수의 합을 반환하는 메소드
int Sum(int a, int b){
return a+b;
}
////////////////////////////////
int a = 50;
int b = 70;
var summary = Sum(a,b) //컴파일러가 summary변수를 자동으로 int형으로 처리함
(호출할 때의 매개변수는 매개변수타입을 적지않음)
*static
static void Main(string[] args)에도 붙어있다.
객체 단위가 아닌 클래스 단위로 생성, 사용되게 하는 키워드이다.
Main함수에서 호출 시 멤버함수이기 때문에 객체를 생성하지 않으면, static 형태로만 호출이 가능.