재우니의 블로그



이번에는 메소드 오버로딩에 대해 설명하고자 합니다.

영어로 overloading 이라고 하는데요. 풀어서 해석을 하자면, 같은 이름을 가진 여러개의 메소드라고 정의하면 쉽게 해석이 될 것 같네요.

그럼..이름이 동일하다면 구분은 어떻게 해요?라고 질문을 하는 분들이 있는데요. 그것은 메서드의 매개변수의 형을 보고 알수 있답니다.

먼저 오버로딩이 아닌 기본적인 메소드 방법으로 살펴보고 그 다음에 오버로딩으로 된 소스를 설명해 드리겠습니다.




위의 소스를 보면 메소드의 이름이 전부 다릅니다. 그리고 static 메소드라 인스턴스화 하지 않고 곧바로 클래스를 접근하여 매개변수에 값을 넘겨 출력을 하고 있습니다. 이것을 일일이 외우고 코딩하기에 너무 힘들지 않을까요? 그래서 메소드 이름을 동일하게 하고 매개변수만 다른 형식으로 하여 구분토록 하겠습니다. 자~~~ 오버로딩을 위의 소스를 변경해서 구현해 보겠
습니다.





결과값은 동일하죠..^^; 이 메소드 오버로딩을 클래스의 생성자에서 아주 중요하게 사용됩니다. 생성자 이름은 하나인데 여러개의 생성자를 정의해야 하기 때문입니다.



posted by 심재운 (shimpark@gmail.com)