알렉의 행복 산책

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

쉽게 풀어본 IT 기술

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

알렉 알렉 2018. 9. 1. 18:11

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

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

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

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


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

https://wikidocs.net/22347



기술 노트 앱으로 받으시면 편리하게 보실 수 있습니다. 다운로드
그리고 아래 보시면 컴퓨터 구조 및 운영체제 도서 전체를 PDF로 올려뒀습니다. 받아보시고 참고하시면 좋을거 같습니다.
https://brainwave.tistory.com/895
이제 막 기술노트 라는 유투브 시작했습니다. 앱개발 부터 IT 전반에 대한 기술을 노트 하듯이 설명을 하려고 합니다. 썸네일이 미워서 죄송합니다. 그냥 기술쟁이가 할 수 있는게 이 정도 수준이니 이해부탁드리구요. 괜찮으시다면 지켜봐주세요. 시간 날때마다 해보려고 합니다. [유투브 기술노트]

쇼핑 사이트 한군데서 편리하게 접속하세요~다스캔 클릭
https://www.dascan.com

구주소 신주소 변환, 우편번호 영문주소까지 한방에 가능해요~
http://address.hitouchsoft.com

아이들을 위해서 직접 만들어본 유용하고 다양한 앱과 서비스가 있습니다. 구경해보세요~
http://www.hitouchsoft.com

0 Comments
댓글쓰기 폼