C#/클래스와 객체지향

C# 클래스와 객체지향 - 13. 클래스 자료형 변환

tita 2024. 5. 28. 21:42

[일반적인 자료형 변환]

 

일반적인 자료형 변환과 같은 방식을 사용합니다.

이미 배웠기 때문에 간단하게 보고 넘어가겠습니다.

(클래스) 변수

 

foreach(var item in Animals)
{
    item.Eat();
    item.Sleep();
    
    if(item is Dog){ ((Dog)item).Bark(); }
    if(item is Cat){ ((Cat)item).Meow(); }
}

 

 

 

[as 키워드]

 

C#은 as라는 키워드를 사용해서 자료형 변환을 할 수 있습니다. 이전의 자료형 변환은 변환에 실패하면 예외가 발생합니다.

하지만 as 키워드를 사용해 자료형을 변환하면 변환에 실패해도 예외가 발생하지 않습니다. 그저 null 값을 넣게 됩니다.

 

as 키워드를 사용하는 방법입니다.

변수 as 클래스

 

as 키워드를 사용하는 경우 일반적인 형태를 살펴보겠습니다.

foreach(var item in Animals)
{
    item.Eat();
    item.Sleep();
    
    var dog = item as Dog;
    if(dog != null) { dog.Bark(); }
    
    var cat = item as Cat;
    if(cat != null) { Cat.Meow(); }
}