Uncategorized

매번 헷갈리는 오버로딩, 오버라이딩

Written by

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

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

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

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

개발자, 기술사, 삼성, 외국계 IT기업 20년차 기술노트 알렉이 직접 작성한

IT기업 기술 면접을 위한 CS + 면접 노하우 PDF
[https://kmong.com/self-marketing/539751/LUA54VnQsP](https://kmong.com/self-marketing/539751/LUA54VnQsP)
자주 나오는 CS 질문과 답변 그리고 100번 이상 면접관으로 참여하면서 느꼈던

면접자가 알아야 할 팁 13가지 포함

백엔드 개발자를 위한 클라우드 강의, AWS

[https://inf.run/o1NX](https://inf.run/o1NX)

이제는 비전공자도, 일반이도 개발할 수 있다.
ChatGPT를 이용한 누구나 앱개발 with 알렉
[https://inf.run/rpX4](https://inf.run/rpX4)

백엔드 직접 번역한 도서
[https://www.yes24.com/Product/Goods/122536127](https://www.yes24.com/Product/Goods/122536127)

IT기술의 거의 모든 것을 다루는 기술노트with알렉 유투브

[https://www.youtube.com/c/%EA%B8%B0%EC%88%A0%EB%85%B8%ED%8A%B8with%EC%95%8C%EB%A0%89](https://www.youtube.com/c/%EA%B8%B0%EC%88%A0%EB%85%B8%ED%8A%B8with%EC%95%8C%EB%A0%89)

Leave a Comment