본문 바로가기

쉽게 풀어본 IT 기술

매번 헤깔리는 오버로딩, 오버라이딩

오버로딩과 오버라이딩은 기본적으로 객체 지향 개념 중 하나이다.
객체를 기반으로 개발을 한다고 할 때는 그 객체가 가지는 속성을 잘 활용을 해야 한다. 객체를 가지고 여러가지 관점으로 이용할 수 있어야 한다. 객체를 지정하고 한번만 사용하고 약간 내용이 바뀐 것을 다시 객체를 만들어서 해야 한다면 비효율적이다.

오버로딩과 오버라이딩은 재사용관점으로 이해해도 된다.
오버로딩은 함수를 호출 할 때 동일한 이름의 함수로 정의 하되 인자의 값을 형태나 개수를 달리하는 것이다. 그리고 호출 할 때 인자의 값이나 개수를 넣으면 알아서 해당 함수로 불리는 것이다. 편리성도 있고, 재사용성도 있다.

오버라이딩은 상속 개념을 이해해야 한다.
상속도 객체 지향의 중요한 개념 중 하나이다. 상속을 하여 재사용을 한다. 예를 들면 남자 사람은 사람에서 상속을 한다. 사람을 요소를 다 가진다. 그러면서 남자이다. 남학생이면 남자 사람으로부터 상속을 받는다. 그러면 남자 사람의 속성을 다가지고 학생의 속성을 가지게 된다. 이런 개념이 상속이다. 이 상속을 통해서 재사용도 가능하고, 효율적인 개발도 가능하다.

오버라이딩은 상속에는 부모와 자식이 있는데, 상속은 부모로부터 자식이 받는다. 부모의 요소들을 자식이 받는다. 부모에서는 개념만 정의를 하고 결국 자식이 그 뜻을 이루기도 한다. 그래서 부모에서는 선언만 하고, 자식이 그 내용을 채우는 경우가 오버라이딩이다. 동일한 함수여야 하고, 동일한 인자여야 한다. 그러면 호출될 때 결국 자식의 함수가 불린다. 물론 부모로만 선언하면 부모의 함수가 불린다. 그럼 각각을 동일한 함수로 호출할 수가 있다. 개발을 할 때는 매우 중요한 개념이고, 헤깔리기 쉬운 개념인데, 오버로딩 불릴때 변수와 인자 형태가 달라도 불리는 것이고, 부모 자식 간에 함수를 각각 내용을 다르게 정의 할 수 있고, 부를 수 있는 것이 오버라이딩이다.


책처럼 전체를 보기를 원하시면 아래 링크를 클릭하시고 북마크 하셔서 보시면 편리합니다. 

https://wikidocs.net/22347