반응형

오버라이딩 2

코틀린 15. 오버라이딩과 오버로딩

이번 글에서는 오버라이딩과 오버로딩에 대해서 알아보도록 하겠습니다. 오버라이딩(overriding) 먼저 오버라이딩(overriding)에 대해서 알아볼 텐데, 이 단어의 사전적 의미를 생각해봅시다. overriding의 뜻을 찾아보면 '재정의하다, 우선하다'라는 뜻을 가지고 있습니다. 그렇다면, 말 그대로 무언가를 재정의하거나 다른 것보다 우선한다는 의미일 것 같은데, 과연 무슨 뜻일까요? 프로그래밍 언어에서 overriding은 슈퍼클래스를 상속받은 서브클래스에서 슈퍼클래스에 정의되어있는 함수를 '재정의'하는 것을 의미합니다. 중요한 것은 overriding을 하려면 서브클래스에서 선언하려는 함수가 슈퍼클래스에 있는 함수와 이름과 형태가 동일해야 하며, 함수가 open되어있어야 한다는 점입니다. 여기..

파이썬 27. 메서드 오버라이딩

이번 글에서는 메서드 오버라이딩과 연산자 오버로딩에 대해서 알아보도록 하겠습니다. 메서드 오버라이딩 메서드 오버라이딩의 경우 상속개념 중 꼭 알아야 하는 것 중 하나입니다. 오버라이딩의 사전적 의미는 "우선하다, 중단시키다"인데, 부모로부터 상속받은 메서드를 자식클래스에서 재정의할 때 이를 오버라이딩이라고 합니다. 여기서 말하는 재정의는 이름만 같고, 메서드의 내용은 변경시키는 것을 의미합니다. 저번 글에서 상속관계에서 동일한 이름을 가진 메서드의 우선수위에 대해 이야기했는데, 자식클래스가 가장 먼저라는 것이 바로 이 오버라이딩 때문입니다. 예를 들어 부모클래스에 fun1이라는 메서드가 있고, 자식클래스에서 다시 fun1이라는 메서드를 정의하면 자식클래스의 인스턴스에서 호출되는 것은 자식클래스의 fun1..

반응형