업캐스팅
-
2024.03.06 - 다형성(Polymorphism)C# 2024. 3. 7. 22:03
다형성(Polymorphism) 다형성(Polymorphism)이란, 객체가 상황에 따라 여러가지 형태를 가질 수 있는 것을 말한다. 쉽게 말해서 상속 받은 자식 클래스가 다양한 타입(부모 클래스 타입)을 가질 수 있는 것을 의미한다. 다형성을 구현, 활용하기 위해서는 상속, 가상함수와 오버라이딩, 업캐스팅을 사용할 필요가 있다. 다형성의 구현 다형성을 구현한다는 것은, 자식 클래스가 상속으로 부모의 가상함수를 오버라이딩 하는 것을 통해서, 업캐스팅 되었을 때, 부모의 메서드가 아닌 오버라이드 된 자식의 메서드를 사용하는 것(객체가 여러가지 형태를 가짐)을 구현한다. 라고 단순하게 설명할 수 있다. 아래의 예시를 보자. 자식 클래스 Cat은 부모 클래스 Animal을 상속받고, Animal의 가상함수 C..
-
2024.03.06 - 업캐스팅(Upcasting)C# 2024. 3. 6. 17:46
캐스팅(Casting) 캐스팅(Casting)은 어떤 데이터의 타입을 다른 타입으로 바꿔주는 것을 말한다. 캐스팅에는 암시적 변환, 명시적 변환 2종류가 있다. 암시적 변환 암시적 변환은 작은 범위의 자료형에서 넓은 범위의 자료형으로 변환할 때 일어난다. 아래의 예시를 보자. 원래 double타입의 변수 a에 int타입의 변수 b를 대입할 수 없다. a에 b를 대입하기 위해서는 b의 타입을 변환해주어야 한다. 그러나 위 코드에서 a에 b를 대입하려고 할 때 오류가 발생하지 않는다. a = b;에서 암시적 변환이 일어나기 때문이다. 작은 범위의 자료형인 int타입의 데이터를 넓은 범위의 자료형인 double타입의 데이터로 변환할 때는 데이터 손실이 없기 때문에 자동으로 a = (double)b;가 수행이 ..