๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ/C#

[C#] ์˜ˆ์ œ๋กœ ๋ฐฐ์šฐ๋Š” C# 07: ํด๋ž˜์Šค ์„ ์–ธ, ์ƒ์„ฑ์ž, ์ ‘๊ทผ์ œํ•œ์ž

by HanaV 2023. 7. 30.
728x90

์ ‘๊ทผ์ œํ•œ์ž

1. public: ์–ด๋””์—์„œ๋“  ์ ‘๊ทผ ๊ฐ€๋Šฅ
2. internal: ๊ฐ™์€ namespace๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ
3. protected: ํ•˜์œ„ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ
4. private: ํ•ด๋‹น ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ (๊ธฐ๋ณธ)

 

์ „์ฒด ์ฝ”๋“œ

Cat.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CuteCat
{
    public class Cat
    {
        public string Name;
        public int Age;
        private int Happiness = 50;

        public Cat(string Name, int Age)
        {
            this.Name = Name;
            this.Age = Age;
        }

        public string Express()
        {
            string msg = "";

            if (Happiness >= 80) msg = "I'm very happy>_<";
            else if (Happiness >= 60) msg = "I'm happy :)";
            else if (Happiness >= 40) msg = "I'm soso.";
            else if (Happiness >= 20) msg = "I'm gloomy :(";
            else msg = "I'm so sad T^T";

            return this.Name + "*เธ…^•๏ปŒ•^เธ…* : " + msg;
        }

        public void Play()
        {
            Happiness += 10;
            if (Happiness > 100) Happiness = 100;
        }

        public void Feed()
        {
            Happiness += 10;
            if (Happiness > 100) Happiness = 100;
        }

        public void Bored()
        {
            Happiness -= 10;
            if (Happiness < 0) Happiness = 0;
        }
    }
}

 

Form1.cs

namespace CuteCat
{
    public partial class Form1 : Form
    {
        private Cat MyCat = new Cat("Lucas", 1);

        public Form1()
        {
            InitializeComponent();
        }

        private void Play_Click(object sender, EventArgs e)
        {
            MyCat.Play();
            CatScreen.Text = MyCat.Express();
        }

        private void Feed_Click(object sender, EventArgs e)
        {
            MyCat.Feed();
            CatScreen.Text = MyCat.Express();
        }

        private void CatTimer_Tick(object sender, EventArgs e)
        {
            MyCat.Bored();
            CatScreen.Text = MyCat.Express();
        }
    }
}

 

๋‹ค๋ฅธ ๊ฑด ํฌ๊ฒŒ ๋‹ค๋ฅธ ๊ฒŒ ์—†๋Š”๋ฐ, Timer๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค.

Timer์—๋Š” Tick์ด๋ผ๋Š” ์ด๋ฒคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ํŠน์ • ์‹œ๊ฐ„์ด ํ๋ฅผ ๋•Œ๋งˆ๋‹ค ํŠน์ • ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

728x90

"); wcs_do();