Knowledge/Programing
-
C++ - 함수 오버로딩에 대한 이해 (Function Overloading)Knowledge/Programing 2020. 7. 13. 00:20
안녕하세요. 현재 열심히 C++을 공부하고 있는 필자이다. (갑자기 분위기 근황토크) 이번 글에서는 객체지향 언어의 특징이기도한 함수 오버로딩에 대해서 써보려고 한다. 절차지향 언어인 C에서는 다음과 같은 코드는 오류가 발생한다. #include int Func(int num){ printf("%d\n", num); return num; } int Func(int a, int b){ return a+b; } int main(void){ int tmp; tmp = Func(30); return 0; } 이유는 함수의 이름이 "Func"으로 동일하기 때문이다. 하지만 C++의 경우에는 어떨까? 무리없이 실행이 가능하다. 그 이유가 바로 함수의 오버로딩덕분이다. 같은 이름을 쓰더라도 받는 인자를 따라 구분이 ..
-
절차지향 언어와 객체지향 언어Knowledge/Programing 2020. 6. 19. 01:41
절차지향 언어와 객체지향 언어 전에 친구에게 과외할 때 절차지향과 객체지향의 차이를 설명했었다. 그런데 최근에 아는 동생에게 객체지향에 대한 질문이 들어왔는데 답하지 못하였다. 이번에도 나의 금붕어 같은 기억력은 제 역할을 완수했다. 빡쳐서 이렇게 글을 남긴다. 절차지향 언어 대표적인 종류 : C [개념] 코드를 순서대로 읽어 나가며 처리하는 방식 컴퓨터가 동작하는 방식과 흡사하여 객체지향보다 처리 시간이 빠르다. 객체지향 언어 대표적인 종류 : Java, Python, C++ [개념] 객체(Object)를 지향한다는 의미. 실제 세계를 모델링하여 개발하는 방식으로 정의한다. 작성 순서보다는 객체를 중점으로 하는 특징을 갖고 있다. 순서가 아닌 기능별로 묶어서 모듈화를 하고 모듈을 재사용하기도 하는 등의..