본문 바로가기

공부생각/언어잡지식

[언어잡지식] 오버로딩과 폴리몰피즘의 차이 (Overloading and Polymorphsim) 둘다 OOP의 개념에서 나오는 것인데. 오버로딩과 폴리몰피즘의 차이는 뭘까. 오버로딩은 함수의 "재정의" 이다. 그 재정의 된 함수 사이에는 구별되는 특징이 있다. 리턴값이 다르다던지, 인풋갯수가 다르다던지, 인풋타입이 다르다던지... 비록 함수의 이름은 같더라도, 구별되는 특징에 따라 다른 함수가 적용되는 것이다. 예를 들어. public int add (int a , int b) public double add (double a, double b) 정수를 더하나 실수를 더하나 우리는 같은 더하기 이므로, 직관적인 add라는 작업단위로 읽힐 수 있도록, 이렇게 해주는 것이다. OOP의 강화라고 볼 수 있지... 폴리몰피즘 다형성? 상속이란 것으로 나타나는 건데 조금 복잡하지만 이해하면 왜 이렇게 쓰는지.. 더보기
[언어잡지식] 함수의 인풋에 배열(array) 직접 넣기 상당히 기본적인 것임에도 불구하고, 그냥 넣기전에 하나 만들어서 넣어도 됨에도 불구하고, 그냥 한번 끄적여본다. C++/C#/JAVA 에 모두 해당할 수 있는 이야기인듯. 나는 C#에서 한것이지만... 뭐 이런 함수가 있다치자. ------------------------------- void function ( int[] in ) { ... } -------------------------------- 이제 저 함수를 실행시켜보자. 정수형 배열을 넣고 싶은데, 어떻게 넣어야 하나? 그냥 간단한 방법으로는 --------------------------------- int[] a = {1, 2, 3}; function(a); --------------------------------- 이렇게 넣으면 된다.. 더보기