반응형
<코드 입력>
namespace Test
{
internal class Program
{
static void Main(string[] args)
{
/*
* object란
* 객체, 물건이라는 영어단어로
* 어떠한 데이터 형식이든 모두 사용가능한 형태
*/
object a = 123; // int a = 123
object b = 1.23f; // float b = 1.23f
object c = 'a'; // char c = 'a'
object d = "abcde"; // string d = "abcde"
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
/*
* 그럼 여기서 전부 object형을 그럼 쓰면 간단한데
* 왜 다른 형식을 배우고 사용할까?
*
* c#에서 object는 모든 객체의 기본 클래스이지만
* 모든 데이터를 object로 저장하는것은 효율이 떨어진다.
* 이유는 object의 경우 데이터의 크기가 정해져 있지 않기때문에
* 큰 데이터를 저장하면 메모리 낭비가 발생할 수 있다
*
* 또한, 모든 데이터형식을 표현하거나 보여줄수는 있지만
* 데이터 저장할 수 있는 기능은 없기 때문에 특정 데이터 형식을
* 저장하려면 해당 데이터 형식으로 변환하여야 한다.
*
* 그래서 보통은 데이터를 주고받거나 클래스 또는 함수, 메소드등
* 처리를 위해서 object를 사용하며, 최종적으로 데이터를 저장,
* 보관 등을 하기위해선 각각에 맞는 형식으로 변환하여 사용
*
* 그리고 개발자가 코드를 보고 이해할때 object보단 직관적인
* 기본 자료형을 사용함에 따라 가시성이 좋아진다.
* 이처럼 필요한 경우를 제외하곤 object를 남용하진 않는다.
*/
object e = 123; // int e = 123
// (int)e : 현재 object 형식의 e변수를 int 형식의 ee변수에
// 대입하기 위하여 같은 형식으로 변환해주는 것. (형변환)
int ee = (int)e;
Console.WriteLine();
Console.WriteLine(ee);
}
}
}
<결과 확인>
728x90
반응형
'나미 > C#' 카테고리의 다른 글
[C#] 7. var 키워드 (0) | 2023.07.03 |
---|---|
[C#] 6. bool 자료형(논리형) (0) | 2023.07.03 |
[C#] 4. 문자와 문자열 (0) | 2023.06.29 |
[C#] 3. 실수형 변수 출력해보기 (0) | 2023.06.28 |
[C#] 2. 정수형 변수 출력해보기 (0) | 2023.06.27 |
[C#] 1. Hello, World 출력해보기 (0) | 2023.06.27 |