[C#] 8. ํ•จ์ˆ˜

์—…๋ฐ์ดํŠธ:

์นดํ…Œ๊ณ ๋ฆฌ:

ํƒœ๊ทธ: , ,




C# ์‚ฌ์ „ ๋ฌธ๋ฒ• ๊ธฐ์ดˆ



ํ•จ์ˆ˜








1. ๊ธฐ๋ณธ

ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑ, ์‚ฌ์šฉํ•˜์—ฌ ๋งŽ์€ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ถˆ๋Ÿฌ์™€ ์‚ฌ์šฉํ•ด ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Console.WriteLine();        // C# ์—์„œ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด๋‘” ๊ธฐ๋Šฅ
Console.ReadLine();         // C# ์—์„œ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด๋‘” ๊ธฐ๋Šฅ
Console.Clean();            // C# ์—์„œ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด๋‘” ๊ธฐ๋Šฅ
Conver.ToInt32();           // C# ์—์„œ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด๋‘” ๊ธฐ๋Šฅ

void Hello()                // ์‚ฌ์šฉ์ž๊ฐ€ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜
{

}
  • C# ์—์„œ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ด๋‘” ๊ธฐ๋Šฅ








2. ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ, ์‹คํ–‰

ํ•จ์ˆ˜ ์ƒ์„ฑ

ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด ์žˆ์„๋•Œ ์ง์ ‘ ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

image

๋ฐ˜ํ™˜ํ˜•์‹ : ํ•จ์ˆ˜์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐ˜ํ™˜๋ ์ง€
ํ•จ์ˆ˜์ด๋ฆ„ : ReadLine(), Clean() ๋“ฑ ํ•จ์ˆ˜์˜ ์ด๋ฆ„์„ ๋ถ€์—ฌ (์˜๋ฏธ์žˆ๋Š” ์ด๋ฆ„์ด ์ข‹์Œ)
()์ค‘๊ด„ํ˜ธ : ๋ฌด์—‡์ธ๊ฐ€ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•  ๋•Œ ๋ถ™์ด๋Š” ๊ธฐํ˜ธ
ํ•จ์ˆ˜์˜์—ญ : {} ์•ˆ์— ํ•จ์ˆ˜์˜ ๊ธฐ๋Šฅ์„ ๋„ฃ๋Š”๋‹ค.

void MethodSample()
{
	Console.WriteLine("ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.");
	Console.WriteLine("์šฐ์„ ์€ ์˜์—ญ์— ๋Œ€ํ•ด ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.");
}

MethodSample();

์‹คํ–‰๊ฒฐ๊ณผ
ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
์šฐ์„ ์€ ์˜์—ญ์— ๋Œ€ํ•ด ํ™•์ธํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
  • ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‹คํ–‰ MethodSample(); ํ•˜๊ธฐ








3. Return

Return ์€ ํ•ด๋‹น ์ฝ”๋“œ ๋ฐ‘์— ์žˆ๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์บ”์Šฌํ•˜๊ณ  ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•œ๋‹ค.
์กฐ๊ฑด์— ์˜ํ•ด return์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

int hp = 3;

Attack();    // ๋ฐ๋ฏธ์ง€ : 1    ํ˜„์žฌ์ฒด๋ ฅ : 2
Attack();    // ๋ฐ๋ฏธ์ง€ : 1    ํ˜„์žฌ์ฒด๋ ฅ : 1
Attack();    // ๋ฐ๋ฏธ์ง€ : 1    ํ˜„์žฌ์ฒด๋ ฅ : 0
Attack();    // Console X

void Attack()
{
    if (hp < 1)
    {
        return;
    }
    --hp;
    Console.WriteLine("๋ฐ๋ฏธ์ง€ : 1    ํ˜„์žฌ์ฒด๋ ฅ : " + hp);
}
  • hp๊ฐ€ 1์ดํ•˜์ผ๋•Œ return์ด ๋˜์–ด ํ•จ์ˆ˜๊ฐ€ ์ข…๋ฃŒ๋œ๋‹ค.








4. return ๊ณผ ๋ฐ˜ํ™˜ ํ˜•์‹


int testNum = Attack1();
// string testString = Attack();

int Attack1()
{
    Console.Write("return ํ™•์ธ");
    return 100;
}

Console.Write(testNum);
  • ๋ฐ˜ํ™˜ํ˜•์‹ int ์™€ return 100 ์˜ ํ˜•์‹์ด ์ผ์น˜ํ•ด์•ผ ๋œ๋‹ค.
  • void ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฐ˜ํ™˜ํƒ€์ž…์„ ์ง€์ •ํ–ˆ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ return ์œผ๋กœ ๋ฐ˜ํ™˜๊ฐ’์„ ์ค˜์•ผํ•œ๋‹ค.
  • ํƒ€์ž…์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅ








5. ๋งค๊ฐœ๋ณ€์ˆ˜

()์†Œ๊ด„ํ˜ธ ์•ˆ์— ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉ

int hp = 10;
void Attack3(int damage)
{
    hp -= damage;
    if (hp < 1)
    {
        //์‚ฌ๋ง์ฝ”๋“œ
        return;
    }
    Console.WriteLine("๋ฐ๋ฏธ์ง€ : " + damage + "    ํ˜„์žฌ์ฒด๋ ฅ : " + hp);
}
Attack3(3);
Attack3(6);
Attack3(4); // hp 1์ดํ•˜
  • ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์˜€๋‹ค๋ฉด ํ•จ์ˆ˜ ์‹คํ–‰์‹œ ๋ฐ˜๋“œ์‹œ ๊ฐ’์„ ์ž…๋ ฅํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ํ•จ์ˆ˜ ์‹คํ–‰ํ• ๋•Œ ๊ฐ’์„ ์ž…๋ ฅ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ž…๋ ฅํ•˜๋Š” ๊ฐ’์˜ ํƒ€์ž…์ด ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ ๋งค๊ฐœ๋ณ€์ˆ˜

()์†Œ๊ด„ํ˜ธ ์•ˆ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์‚ฌ์šฉ๊ฐ€๋Šฅ

void DisplayMyInfo(int level, string name, string job)
{
    Console.WriteLine("๋ ˆ๋ฒจ : " + level + "์ด๋ฆ„ : " + name + "์ง์—… : " + job);
}
DisplayMyInfo(1, "kim", "pro");
  • ๋งค๊ฐœ๋ณ€์ˆ˜ level, name, job 3๊ฐœ ์‚ฌ์šฉ








6. ๋„ค์ด๋ฐ ๊ทœ์น™

C#์—์„œ ๋ณดํŽธ์ ์œผ๋กœ ํ™œ์šฉ๋˜๋Š” ๊ฒƒ์—๋Š” ์นด๋ฉœ ์ผ€์ด์Šค, ํŒŒ์Šค์นผ ์ผ€์ด์Šค ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์นด๋ฉœ ์ผ€์ด์Šค : ์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ myPoint, enemyName
  • ํŒŒ์Šค์นผ ์ผ€์ด์Šค : ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ AttackMonster, FindCharacter
  • ์ฒด๊ณ„์ ์œผ๋กœ ํ•จ์ˆ˜,ํด๋ž˜์Šค๋Š” ํŒŒ์Šค์นผ ๋ณ€์ˆ˜๋Š” ์นด๋ฉœ๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ
  • ๊ณต๋ฐฑ์„ ํฌํ•จํ•œ ์ด๋ฆ„์„ ๋งŒ๋“ค ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

microsoft ์ฝ”๋”ฉ ๊ทœ์น™



[C#] ํ•จ์ˆ˜


์ฐธ๊ณ  : ์œ ๋‹ˆํ‹ฐ TOP


๐Ÿ“”

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ