object๋ ๋ฌผ๊ฑด, ๊ฐ์ฒด๋ผ๋ ๋ป์ ์์ด ๋จ์ด์ด๋ค.
object ํ์์ ์ด๋ค ๋ฌผ๊ฑด(๋ฐ์ดํฐ)์ด๋ ์ง ๋ค๋ฃฐ ์ ์๋ ๋ฐ์ดํฐ ํ์์ด๋ค.(์์์ ํจ๊ณผ)
C#์ object๊ฐ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ์ ์๋๋ก ์์์ด๋ผ๋ ์กฐ์น๋ฅผ ์ทจํ๋ค.
(์์ : ๋ถ๋ชจ๋ก๋ถํฐ ๋ฐ์ดํฐ์ ๋ฉ์๋๋ฅผ ๋ฌผ๋ ค๋ฐ์ ์์์ ๋ถ๋ชจ์ ๋๊ฐ์ด ๋์ํ ์ ์๋ค. ์ปดํ์ผ๋ฌ๋ ์์์ ๋ถ๋ชจ๋ก ๊ฐ์ฃผํ ์ ์๊ฒ ๋๋ค.)
๋ชจ๋ ๋ฐ์ดํฐ ํ์(๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์๋ฟ ์๋๋ผ ๋ชจ๋ ๋ณตํฉ ๋ฐ์ดํฐ ํ์, ์ฌ์ง์ด ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ง๋ ๋ฐ์ดํฐ ํ์ ๋ง์ ๋)์ด ์๋์ผ๋ก object ํ์์ผ๋ก๋ถํฐ ์์๋ฐ๊ฒ ํ์์ผ๋ฏ๋ก,
object ํ์์ ๋ชจ๋ ๋ฐ์ดํฐ ํ์์ ์กฐ์์ด๋ค.
int, long, char, bool, string ~~~
using System;
using static System.Console;
namespace Hello
{
class MainApp
{
static void Main(string[] args)
{
object a = 123;
object b = 3.141234567890m;
object c = true;
object d = "์๋
ํ์ธ์.";
object e = 5.14;
WriteLine(a);
WriteLine(b);
WriteLine(c);
WriteLine(d);
WriteLine(e);
}
}
}
์ถ๋ ฅ
123
3.141234567890
True
์๋
ํ์ธ์.
5.14
์ ์ ํ์์ ๋ถํธ ์๋ ํ์๊ณผ ๋ถํธ ์๋ ํ์์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด ์๋ก ๋ค๋ฅด๊ณ ,
๋ถ๋ ์์์ ํ์๊ณผ decimal ํ์์ด ์๋ก ์์๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด ๋ค๋ฅธ๋ฐ
object ํ์์ด ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ค ๋ด์ ์ ์๋ ๋๋ผ์ด ์ผ์ ์ดํดํ๊ธฐ ์ํด์
๋ฐ์ฑ๊ณผ ์ธ๋ฐ์ฑ์ ๋งค์ปค๋์ฆ์ ์ดํดํ ํ์๊ฐ ์๋ค.
<๋ฐ์ฑ๊ณผ ์ธ๋ฐ์ฑ>
object ํ์์ ์ฐธ์กฐ ํ์์ด๊ธฐ ๋๋ฌธ์ ํ์ ๋ฐ์ดํฐ๋ฅผ ํ ๋นํ๋ค.
๊ทธ๋์ int๋ double ๊ฐ์ ๊ฐ์ ๊ฐ ํ์์ ๋ฐ์ดํฐ๋ฅผ ํ์ ํ ๋นํ๊ธฐ ์ํด '๋ฐ์ฑ'๊ธฐ๋ฅ์ด ์๋ค.
object ํ์์ ๊ฐ ํ์์ ๋ฐ์ดํฐ๋ฅผ ํ ๋นํ๋ ค๋ ์๋๊ฐ ์ด๋ฃจ์ด์ง๋ฉด
object ํ์์ ๋ฐ์ฑ์ ์ํํด์ ํด๋น ๋ฐ์ดํฐ๋ฅผ ํ์ ํ ๋นํ๋ค.
[๋ฐ์ฑ]
ํน์ ๊ฐ์ ๋ฐ์ค์ ๋ด์ ๋ค์ ํ์ ํ ๋นํ๊ณ ,
๋ณ์๋ ๊ทธ ์ฃผ์๋ฅผ ์ฐธ์กฐํ๋ ํํ์ด๋ค.
์๋์ ๊ฐ์ด ํ์ ์๋ ๊ฐ ํ์ ๋ฐ์ดํฐ๋ฅผ
๊ฐ ํ์ ๊ฐ์ฒด์ ๋ค์ ํ ๋นํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
using System;
using System.Text;
using static System.Console;
namespace Hello
{
class MainApp
{
static void Main(string[] args)
{
object a = 123;
int af = (int)a;
WriteLine(af);
}
}
}
a๋ 123์ด ๋ฐ์ฑ๋์ด ์ ์ฅ๋ ํ์ ์ฐธ์กฐํ๊ณ ์๋ค.
af๋ a๊ฐ ์ฐธ์กฐํ๊ณ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ๊ฐ์ ๋ณต์ฌํ๋ ค๊ณ ํ๋ค.
์ด๋ ๋ฐ์ฑ๋ ๊ฐ์ ๊บผ๋ด ๊ฐ ํ์ ๋ณ์์ ์ ์ฅํ๋ ๊ณผ์ ์ ์ผ์ปฌ์ด์ '์ธ๋ฐ์ฑ'์ด๋ผ๊ณ ํ๋ค.
<์ต์ข ์ ๋ฆฌ ์ฝ๋>
using System;
using System.Text;
using static System.Console;
namespace Hello
{
class MainApp
{
static void Main(string[] args)
{
int a = 123;
object b = a; //a์ ๋ด๊ธด ๊ฐ์ ๋ฐ์ฑํด์ ํ์ ์ ์ฅ
int c = (int)b; //b์ ๋ด๊ธด ๊ฐ์ ์ธ๋ฐ์ฑํด์ ์คํ์ ์ ์ฅ
WriteLine(a); //123
WriteLine(b); //123
WriteLine(c); //123
}
}
}