본문 바로가기

Polymorphism

유니티19_C#_12_다형성 이번에는 객체 지향 언어에서 클래스라는 구조를 지지하는 다형성(Polymorphism)에 대해 알아본다. poly는 many(많은)이라는 뜻이고, morph는 form, shape(모양)이라는 뜻이다. 그래서 다형성은 '많은 모양을 가짐'이라는 뜻이다. 생물학에서 다형성은 유전자의 변이를 나타내는 것과 같이 코딩에서 다형성은 클래스의 메서드가 형태는 같지만 다른 역할로 변이할 수 있다는 것을 말한다. 간단한 예로 앞 글 '상속'에서 보았듯이 base클래스(부모)에서 파생된 derived클래스(자식)가 여러 개 또는 다양한 형태로 만들어질 수 있다는 것이 바로 다형성이다. 메서드 오버라이드(override) override는 '위에 + 올라타다'가 합쳐진 글자인데 기존 상태를 짓밟고 올라타서 다른 것으로 .. 더보기
쌩초보를 위한 기초_24_Inheritance_상속 Inheritance 상속 Inheritance(상속)는 그녀(her)의 안에(in) 넣어서 전달하는 것이다. 그것은 유전자이다. 자신의 유전자를 부모에게서 받아 자식에게 전달하는 것이 상속이다. 마찬가지로 프로그래밍에서의 상속도 같은 역할을 한다. 자식 클래스를 만들 때 부모 클래스의 property(속성)과 기능을 물려받는다. 정확히 말하면 그 속성과 기능을 이용할 수 있다는 뜻이다. 상속은 객체지향 프로그래밍(Object Oriented Programming)의 가장 큰 장점 중의 하나이다. 모든 클래스의 시조(최초) 클래스를 superclass(슈퍼클래스)라 하고 그 이름은 Any 이다. any의 뜻이 '어떤' 이므로 정확한 이름도 없는것 같다. 하여튼 '어떤 클래스(Any Class)'가 클래스.. 더보기