Unity/수업내용(C#)

[3.10] 메소드 Method

ljw4104 2021. 3. 10. 14:52

쉽게 말하면 중고등학교때 배웠던 함수이다.

 

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 형태로만 호출이 가능.