ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์ฒญ์ฌ์ง
(์ฆ, ์ค๊ณ๋)
ํด๋์ค(์ค๊ณ๋) | ๊ฐ์ฒด(์ค์ฒด) |
ํ์ ๋๋ ์ค๊ณ๋ | ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ์ค์ฒด |
๊ฐ ํ์/ํด๋์ค ๋ณ๋ก ํ๋๋ง ์กด์ฌ | ์ด๋ก ์ ์ผ๋ก๋ ๋ฌดํ๋๋ก ์์ฑ ๊ฐ๋ฅํ๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํจ |
๊ฐ์ฒด๊ฐ ์ด๋ค ๋ฐ์ดํฐ ํญ๋ชฉ์ ๊ฐ์ง๋์ง ์ ์ | ์ ์ธ๋ ๋ฐ์ดํฐ ํญ๋ชฉ์ ์ค์ ๋ฐ์ดํฐ ์ ์ฅ |
์ด๋ค ๋ฉ์๋๋ฅผ ๊ฐ์ง์ง๋ฅผ ์ ์ | ์ ์๋์ด ์๋ ๋ฉ์๋๋ฅผ ์คํ |
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ OOP๋ผ๊ณ ๋ ํ๋๋ฐ,
์ฝ๋ ๋ด์ ๋ชจ๋ ๊ฒ์ ๊ฐ์ฒด๋ก ํํํ๊ณ ์ ํ๋ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ๋ปํ๋ค.
๊ฐ์ฒด๋ ์ธ์์ ๋ชจ๋ ๊ฒ์ ์ง์นญํ๋ ๋จ์ด์ด๋ค.
์ฌ๋๋ ๊ฐ์ฒด์ด๊ณ ์ฐํ๋ ๊ฐ์ฒด์ด๊ณ ๋ชจ๋ ๊ฒ์ด ๊ฐ์ฒด์ด๋ค.
ํ๋ก๊ทธ๋๋จธ๋ ์ถ์์ฃผ์ ์์ ๊ฐ๊ฐ ๋ ๋ง๋ฅ
๊ฐ์ฒด์ ์ฃผ์ ํน์ง๋ง ๋ฝ์๋ด๋ ์ด๋ฅธ๋ฐ ์ถ์ํ๋ฅผ ํ๊ฒ ๋๋ค.
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฏธ์ ์์ํ๊ธฐ ์ํด์๋ ๊ฐ์ฒด๊ฐ ๊ฐ์ง ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ๊ณจ๋ผ๋ผ ์ ์๋ ๋์ด ํ์ํ๋ค.
์์ฑ์ ๋ฐ์ดํฐ๋ก, ๊ธฐ๋ฅ์ ๋ฉ์๋๋ก ํํํ๋ฉด ๋๋ค.
๊ฐ์ฒด๋ ๋ฐ์ดํฐ์ ๋ฉ์๋๋ก ์ด๋ฃจ์ด์ ธ์๋ค.
ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ ์ํ ์ฒญ์ฌ์ง์ด๋ค.
ํด๋์ค๊ฐ ์๋์ฐจ ์ค๊ณ๋๋ผ๋ฉด, ๊ฐ์ฒด๋ ์์ฐ๋ ์ค์ ์๋์ฐจ๋ผ๊ณ ํ ์ ์๋ค.
์ค๊ฒ๋๋ ์๋์ฐจ๊ฐ ์ด๋ค ์์ฑ๊ณผ ์ด๋ค ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ผ ํ๋์ง๋ฅผ ์ง์ ํ๊ณ ,
์์ฑ ์ค์ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฒ๊ณผ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ๊ฒ์ ๊ฒฐ์ ํ๋ค.
ํด๋์ค๋ ๊ฐ์ฒด๊ฐ ๊ฐ์ง๊ฒ ๋ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ์ ์ํ์ง๋ง ์ค์ฒด๋ฅผ ๊ฐ์ง์ง ์๋๋ค. ํด๋์ค๋ฅผ ์ด์ฉํด ๋ง๋ ๊ฐ์ฒด๊ฐ ์ค์ฒด๋ฅผ ๊ฐ์ง๋ค. (๋์ผ ํด๋์ค๋ก ๊ฐ์ฒด 3๊ฐ๋ฅผ ๋ง๋ค๋ฉด, ์ด ์ธ ๊ฐ์ฒด๋ ์๋ก๊ฐ ๊ตฌ๋ถ๋๋ ๊ณ ์ ํ ์ค์ฒด๋ฅผ ๊ฐ์ง๋ฉฐ ์ ๋ง๋ค ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฐจ์ง ํ๋ค.)
string a = "123";
string b = "Hello";
์ ์ฝ๋์์ string์ C#์์ ์ด๋ฏธ ์ ์๋ ๋ฌธ์์ด์ ๋ค๋ฃจ๋ ํด๋์ค์ด๊ณ
a์ b๋ ๊ฐ์ฒด์ด๋ค.
string์ ๋ฌธ์์ด์ ๋ด๋ ๊ฐ์ฒด๋ฅผ ์ํ ์ฒญ์ฌ์ง์ด๊ณ ,
a์ b๋ ์ค์ ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ด์ ์ ์๋ ์ค์ ๊ฐ์ฒด์ด๋ค.
a์ b๋ฅผ ์ผ์ปฌ์ด์ string์ ์ค์ฒด๋ผ๊ณ ํ๋๋ฐ,
์ผ๋ฐ์ ์ผ๋ก ์ธ์คํด์ค๋ผ๊ณ ๋ถ๋ฅธ๋ค. (๊ทธ๋์ ๊ฐ์ฒด๋ฅผ ์ธ์คํด์ค๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.)
- ๊ฐ์ฒด์์ ๋ฝ์๋ธ ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ํด๋์ค ์์ ๋ณ์์ ๋ฉ์๋๋ก ํํ๋๋ค. ์ด๋ฐ ์์ผ๋ก ํ๋ก๊ทธ๋๋ฐํ๋ ๊ฒ์ด ๋ฐ๋ก ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ค.
<ํด๋์ค๋ ๋ณตํฉ ๋ฐ์ดํฐ ํ์์ด๋ค>
ํด๋์ค๋ ์ฌ๋ฌ ๊ด์ ์์ ๊ทธ ์๋ฏธ๋ฅผ ์ดํดํด์ผ ํ๋ค.
๊ฐ์ฒด ์งํฅ์ ์ธ ๊ด์ ์์ ๋ณด๋ฉด ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ์ํ ์ฒญ์ฌ์ง์ธ ๋์์
๋ฐ์ดํฐ์ ๋ฉ์๋๋ฅผ ๋ฌถ๋ ์งํฉ์ด๋ค.
์ฝ๋์์ ๋ณด๋ ํด๋์ค๋ ๋ ํ๋์ ๋ฐ์ดํฐ ํ์์ด๋ค.
(๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์์ ์กฐํฉํด์ ๋ง๋๋ ๋ณตํฉ ๋ฐ์ดํฐ ํ์)
<ํด๋์ค์ ์ ์ธ๊ณผ ๊ฐ์ฒด์ ์์ฑ>
ํด๋์ค๋ ๋ค์๊ณผ ๊ฐ์ด class ํค์๋๋ฅผ ์ด์ฉํด์ ์ ์ธํ๋ค.
class ํด๋์ค ์ด๋ฆ
{
//๋ฐ์ดํฐ์ ๋ฉ์๋
}
<๊ณ ์์ด ์ถ์ํ>
class Cat
{
private string name; //ํด๋์ค ์์ ์ ์ธ๋ ๋ณ์ : ํ๋
private string color; //ํด๋์ค ์์ ์ ์ธ๋ ๋ณ์ : ํ๋
public void Meow() //๋ฉ์๋
{
WriteLine($"{name} : ์ผ์น");
}
}
์ ์ฝ๋์ Cat ํด๋์ค์ ์ ์ธ๋ name๊ณผ color์ฒ๋ผ ํด๋์ค ์์ ์ ์ธ๋ ๋ณ์๋ค์ ์ผ์ปฌ์ด 'ํ๋'๋ผ๊ณ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ํ๋์ ๋ฉ์๋๋ฅผ ๋น๋กฏํ์ฌ ํ๋กํผํฐ, ์ด๋ฒคํธ ๋ฑ ํด๋์ค ๋ด์ ์ ์ธ๋๋ ์์๋ค์ ์ผ์ปฌ์ด ๋ฉค๋ฒ๋ผ๊ณ ํ๋ค.
ํด๋์ค๋ ์ฒญ์ฌ์ง์ด์ง ์ค์ฒด(์ธ์คํด์ค)๊ฐ ์๋๋ค.
cat์ ์ธ์คํด์ค ๋ ๋ง๋ฆฌ๋ฅผ ๋ง๋ค๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;
namespace UsingOut
{
class Cat
{
private string name; //ํด๋์ค ์์ ์ ์ธ๋ ๋ณ์ : ํ๋
private string color; //ํด๋์ค ์์ ์ ์ธ๋ ๋ณ์ : ํ๋
public void SetName(string newName)
{
name = newName;
}
public string GetName()
{
return name;
}
public void SetColor(string newColor)
{
color = newColor;
}
public string GetColor()
{
return color;
}
public void Meow() //๋ฉ์๋
{
WriteLine($"{color} ๊ณ ์์ด {name}๊ฐ ์ผ์น!");
}
}
class MainApp
{
static void Main(string[] args)
{
Cat kitty = new Cat(); //kitty ๊ฐ์ฒด ์์ฑ
kitty.SetColor("ํ์์");
kitty.SetName("ํคํฐ");
kitty.Meow();
WriteLine($"{kitty.GetName()}์ ์๊น์ {kitty.GetColor()}์ด๋๋๋ค.");
Cat nero = new Cat(); //nero ๊ฐ์ฒด ์์ฑ
nero.SetColor("๊ฒ์์");
nero.SetName("๋ค๋ก");
nero.Meow();
WriteLine($"{nero.GetName()}์ ์๊น์ {nero.GetColor()}์ด๋๋๋ค.");
}
}
}
<์ถ๋ ฅ ๊ฒฐ๊ณผ>
ํ์์ ๊ณ ์์ด ํคํฐ๊ฐ ์ผ์น!
ํคํฐ์ ์๊น์ ํ์์์ด๋๋๋ค.
๊ฒ์์ ๊ณ ์์ด ๋ค๋ก๊ฐ ์ผ์น!
๋ค๋ก์ ์๊น์ ๊ฒ์์์ด๋๋๋ค.
Cat kitty = new Cat();
์ด ๋ฌธ์ฅ ๊ฐ์ฅ ๋์ ์๋ Cat()์ ์์ฑ์๋ผ๊ณ ํ๋ ํน๋ณํ ๋ฉ์๋์ด๋ค.
์์ฑ์๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ญํ ์ ํ๋ค. ํด๋์ค์ ์ด๋ฆ๊ณผ ๋์ผํ ์ด๋ฆ์ ๊ฐ์ง๋ค.
Cat()์์ new ํค์๋๋ ์์ฑ์๋ฅผ ํธ์ถํด์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉํ๋ ์ฐ์ฐ์์ด๋ค.
(new ์ฐ์ฐ์์ ์์ฑ์๋ ๋ฐ๋๊ณผ ์ค ๊ฐ์ ์กด์ฌ๋ผ๊ณ ํ ์ ์๋ค.)
๋ชจ๋ ํด๋์ค๋ ๋ณตํฉ ๋ฐ์ดํฐ ํ์์ด๋ค.
๊ทธ๋ฆฌ๊ณ ๋ณตํฉ ๋ฐ์ดํฐ ํ์์ ์ฐธ์กฐ ํ์์ด๋ค.
Cat neko; //neko๋ณ์๊ฐ ์ ์ธ๋์์ง๋ง ์ฌ์ฉ๋์ง ์์์ต๋๋ค!
์์ ์ ์ธ๋ฌธ์์ neko๋ null์ ๊ฐ์ง๋ค.
neko ์์ฒด์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋๋ ๊ฒ์ด ์๋๊ณ
neko๋ ์ฐธ์กฐ(๊ทธ๋์ neko ์ ๊ฐ์ ๋์ ํ๋ฉด ์๋ณธ์ด ๋ฐ๋๋ ๊ฒ์ด๋ค.)๋ก์จ ๊ฐ์ฒด๊ฐ ์๋ ๊ณณ์ ๊ฐ๋ฆฌํฌ ๋ฟ์ด๋ค.
(๋ณตํฉ ๋ฐ์ดํฐ ํ์์ ์ฐธ์กฐ ํ์์ด๋ค. ํด๋์ค๋ ๋ณตํฉ๋ฐ์ดํฐ ํ์์ด๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํด๋์ค๋ ์ฐธ์กฐํ์์ด๋ค.)
Cat kitty = new Cat();
๊ทธ๋์ new ์ฐ์ฐ์์ ์์ฑ์๊ฐ ํ์ํ ๊ฒ์ด๋ค.
new ์ฐ์ฐ์์ ์์ฑ์๋ฅผ ์ด์ฉํด์
ํ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ,
kitty(์ด๊ฑด ๊ทธ๋ฅ ๋ณ์=ํด๋์ค ๋ณ์)๋ ์์ฑ์๊ฐ ํ์ ์์ฑํ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฒ์ด๋ค.
์ฌ๋ด : ์ฌ์ค new ์ฐ์ฐ์์ ์์ฑ์๋ ๋ชจ๋ ๋ฐ์ดํฐ ํ์์ ์ฌ์ฉํ ์ ์๋ค.
C#์์๋ int๋ float, string๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ํ์๋ ์์ฑ์๋ฅผ ๊ฐ๊ณ ์๋ค.
๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ด ๋ณ์ ์ ์ธํ ์๋ ์๋ค.(๊ทธ๋ฌ๋ ๊ตณ์ด ํ ํ์๊ฐ ์๋ค.)
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;
namespace UsingOut
{
class MainApp
{
static void Main(string[] args)
{
int a = new int();
a = 3;
string lovemessage = new string(new char[] {'I',' ', 'l', 'o', 'v','e', ' ', 'y','o','u' });
WriteLine(a);
WriteLine(lovemessage);
}
}
}
<์ถ๋ ฅ ๊ฒฐ๊ณผ>
3
I love you
'C# > ์ด๊ฒ์ด C#์ด๋ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
19. [static]์ ์ ํ๋์ ์ ์ ๋ฉ์๋ (0) | 2022.02.10 |
---|---|
18. ๊ฐ์ฒด์ ์ถ๊ณผ ์ฃฝ์(์์ฑ์,์ข ๋ฃ์) + ์์ฑ์ ์ค๋ฒ๋ก๋ฉ (0) | 2022.02.10 |
16. ๊ฐ, ์ฐธ์กฐ์ ์ํ ๋งค๊ฐ๋ณ์ ์ ๋ฌ, ref์ out์ ์ฐจ์ด (0) | 2022.02.09 |
15. ๋ฉ์๋๋ก ์ฝ๋ ๊ฐ์ถ๋ฆฌ๊ธฐ + ์ฌ๊ทํธ์ถ ํจ์์ง๊ธฐ(ํผ๋ณด๋์น ์์ ) (0) | 2022.02.09 |
14. ์ ์ถ๋ ฅ, ๋ถ๊ธฐ๋ฌธ (0) | 2022.02.08 |