컴공 다니는 기획자 지망생인데
오늘 시간도 좀 남고해서 Lua나 배워볼려고 원서 다운받앗음.
앞부분 읽고 있는데 polymorphism란 단어가 나옴.
구글 찾아보니깐 상위 클래스 메소드를 하위 클래스에서 오버라이딩해서 쓰임새에 맞게 쓰는 걸 말하는 거 같은데
맞나요?
컴공 다니는 기획자 지망생인데
오늘 시간도 좀 남고해서 Lua나 배워볼려고 원서 다운받앗음.
앞부분 읽고 있는데 polymorphism란 단어가 나옴.
구글 찾아보니깐 상위 클래스 메소드를 하위 클래스에서 오버라이딩해서 쓰임새에 맞게 쓰는 걸 말하는 거 같은데
맞나요?
Poly (복수) + morph (모양) + ism (상태) : 한자 번역 = 다형성. 여러 형태를 띈다는 건데 객체지향에서 하나의 객체가 문맥에 따라서 여러 클래스로 취급될 수 있는 성질을 말함.
객체지향의 핵심인데..
그냥 타입변환 생각하면 됨. c 언어에서 coercion 도 일종의 polymorphism 이고, oop 에서 나오는 그건 subtype polymorphism, c++ 템플릿이나 함수형 언어들에서 타입변수를 사용하는 그런 방식은 parametric polymorphism 이고 그렇슴. 공통적인건 타입 바꾸기.
한글로 보니깐 알겠다 ㄳㄳ
oop에선 ability to accommodate multiple types within an abstraction 이란거임. 쉽게 말하면 각각 다른 옵젝트들에서 같은 이름의 메소드를 부르는거를 말하는거ㅇㅇ 그걸 버츄얼을 쓰던 뭘하던은 니맘이고 그냥 저런 컨셉을 뜻하는거