title: “4. 함수” categories:

  • UDONSHARPcourse

    #4. 함수 : 네이버 블로그

저번 강의 거울 껏다 키기는 어떠셨나요

할만 하셨나요?

그래도 저번 강의는 흥미라도 생기는데

이번 강의는 약간 지루 할 수 있습니다.

하기 전 우리 약속 하나 합시다

막히시면 언제나 rage147#2898

함수 설명입니다

이해가 되면 빠르게 넘기시고

이해가 안되시면 유튜브 강의를 보는것이 빠릅니다

키워드는 “프로그래밍 함수”


함수는 뭐냐? function(펑션) 즉 기능입니다

함수의 형태는

자료형 이름(자료형)

의 형태를 가지고 있습니다

자 모두 외쳐!!

자료형 이름(자료형)

예시로 가겠습니다

int 더하기(1,2)는

1,2를 입력하고

int(정수)로 반환하는 함수입니다

이해가 가시나요?

직접 프로그래밍 하면서 보겠습니다


우동으로 돌아오겠습니다

int DragonMoney = 0;
 void Start()
 {
 }

 public override void Interact()
 {
 DragonMoney = DragonMoney + 1;
 }

int DragonMoney입니다

int 기억나나요? 정수!! 숫자!!

DragonMoney는 이름입니다

드래곤 용

머니 돈

용 돈 입니다ㅋ

이렇게 이름은 원하는 대로 쓸 수 있습니다

int DragonMoney=0이라고 되어 있는데

프로그래밍은 오른쪽에서 왼쪽으로 들어갑니다

즉 0이 DragonMoney값에 들어갑니다

☆(중요개념별표)☆

이번엔 아래 인터렉트 안을 보면

DragonMoney = DragonMoney + 1;

라고 되어 있죠?

똑같이 오른쪽에서 왼쪽으로

이것은 +1한 값을 드래곤머니에 넣는다

즉 1을 더한다 라는 뜻입니다

자 여기서 긴급 문제

더하기 코드를 한 다음

디버그 로그에 용돈이 나오게 코딩하시오!!

힌트

Debug.log();


다 하셨나용?

DragonMoney = DragonMoney + 1;

Debug.Log(DragonMoney);

요렇게 하시면 돼죵?

자 그럼 저장을 하고

플레이를 누른 후 트리거 인터렉트를 눌러주세요

DragonMoney(용돈)이 오르는 것을 볼 수 있죠?

혹시 이 흰색 로그가 안보인다 하면

클리어를 하시고

오른쪽 순서대로 일반 경고 위험인데

비활성화 되어 있나 확인해주세요

그래도 안보인다 하면

Debug.Log를

Debug.LogError(DragonMoney);로 바꿔주세요


자 이제 함수로 가겠습니다

함수는 직접 만들 수 도 있습니다.

아래 코드를 보시죠

int DragonMoney = 100;
 void Start()
 {
 }

 public override void Interact()
 {
 DragonMoney = bitcoin(DragonMoney);
 }
 int bitcoin(int A)
 {
 A = A + 2;
 return A;
 }

맨 아래

int bitcoin(int A)

{

A = A + 2;

return A;

}

을 먼저 보겠습니다

이 코드가 직접 만드는 함수 입니다

이것을 함수 선언이라고 합니다 중요중요

int bitcoin(int A)

출력은 int

이름은 bitcoin

입력은 int이죠?

int A는 입력받은 값의 이름입니다

즉 입력받은 값은 A라는 곳에 들어가는거죠

A=A+2는 A에 2를 더한 값을 A에 저장한다는 코드입니다

즉 A에 2를 더하는거죠

아래 return이란 얘는 출력할 값을 의미합니다

return A는 A값을 출력한다는 의미죠

여기서 퀴즈

Debug.Log(bitcoin(10));을 하면

디버그에는 몇이 나올까요?

정답=(12)

자 다시 코드로 돌아와서

bitcoin이라는얘는 2를 더하는얘고

드래곤머니는 비트코인으로 들어가는데

드래곤머니는 100원이니

버튼을 누르면 드래곤머니는 102원이 되겠지요?

Debug.LogError(DragonMoney);를 추가해줍시다

떡상가즈아아아

하지만 얼마 안가

브알챗유저는 군대 영장이 나와 끌려갑니다

군대를 가기 전 모아둔 돈을 은행에 넣었는데

그 은행의 이자는 0.02퍼센트였습니다

float DragonMoney = 100f;
 float Plus = 0.02f;
 void Start()
 {
 }

 public override void Interact()
 {
 DragonMoney=Bank(DragonMoney, Plus);
 Debug.LogError(DragonMoney);
 }
 
 float Bank(float A,float B)
 {

 return A = A+A \* B;
 }

이번엔 int가 아닌 float형입니다

float 기억 나시나요? 소수형입니다

float DragonMoney = 100f;

뒤에 f가 붙었지요? 이것은 정수를 f(소수형)으로 바꾼다는 뜻입니다

float Plus = 0.02f;

이것은 0.02 자체로 소수인데 f가 붙었네요

이유는 0.02로만 쓰면 double형이 돼는데

double형이 돼는데 얘는 15자리

float는 6자리 까지 가능하기 때문입니다

Bank함수입니다

입력이 두개지요?

입력은 ,(컴마)로 구분합니다

리턴 A는 A+ A*B입니다

원금+원금*이자율입니다

사칙연산 순서에 따라 곱하기가 먼저 됍니다

이제 인터렉트 안을 보겠습니다

DragonMoney=Bank(DragonMoney, Plus);이죠?

변수 두개(드래곤머니, 플러스)가 뱅크에 들어갑니다

변수는 컴마로 구분합니다

이자율 0.02가 플러스 돼서 나오죠?

군대에 들어가 있던 브알챗유저는 몰랐습니다

설마 은행이 파산할줄은…

뒤늦게 휴가를 나온 브알챗 유저는 은행을 뛰어가 보지만

public override void Interact()
 {
 BankRun();
 }
 
 void BankRun()
 {
 Debug.LogError("은행이 파산했습니다");
 }

BankRun함수는 입력도 출력도 없습니다

void BankRun()

입력도 없고 출력도 없는 함수입니다

먼저 출력인 앞은 void를 씁니다

입력인 괄호 안에는 void를 쓰는 것이 아니라 빈칸으로 둡니다

void인 경우 리턴은 없습니다

인터렉트 아래를 보면

BankRun()이 있습니다

입력이 없기 때문에 괄호 안에 아무것도 없습니다


할만 하셨나요?

이번 강의는 완전 지루했을거라고 생각합니다

아무래도 이번 강의는 완전히 프로그래밍 강의니깐요

하지만 자료형, 함수 모두 중요한 개념입니다

다는 외우지 않더라도 자료형 선언, 함수의 구조는 꼭 알아두세용


예금자 보호법에 의해 브알챗유저는 돈을 받을 수 있었다.

숙제

int형 Money를 선언하고

입력이 없고

출력이 int형인

함수 law를 선언

함수 기능은 100을 리턴

인터렉트 안에는

law 함수의 값을 Money 넣은 후

디버그 로그에러로 띄우기

로그가 이렇게 나오면 성공!

힌트

하실 수 있을거라 믿습니다.

출력과 입력 모두 없는 함수

함수 선언시

void 이름()

함수 사용시

이름()

출력이 없고 입력이 있는 함수

함수 선언시

void 이름(int)

함수사용시

이름(int)

업데이트: