인프런 커뮤니티 질문&답변
js 메소드
작성
·
313
답변 1
0
안녕하세요. 보안프로젝트 김태영입니다.
overload() 메서드를 이해하려면 먼저 "자바 오버로딩" 개념에 대해 알고 계시면 좋습니다.
"자바 오버로딩"이란 클래스 내에 같은 이름을 가진 메서드가 여러 개 존재하고, 각 메서드마다 서로 다른 매개변수를 가지고 있는 메서드를 정의하는 것입니다.
만약에 A라는 클래스 내에 B라는 이름을 가진 메서드가 3개가 아래와 같이 존재한다고 생각해봅시다.
이름이 같은 3개의 메서드를 각각 호출하기 위해선 매개변수로 구분하여 호출이 가능합니다.
1>> B(String str)
2>> B(String str, int num)
3>> B(int num1, int num2)
overload("java.lang.String")로 지정하면 첫 번째 메서드가 호출이되고, overload("java.lang.String", "int")로 지정하면 두 번째 메서드가 호출됩니다.
챌린지 다섯번째 문제에서 chall05 메서드는 MainActivity 클래스 내에 한 개만 존재하므로 위에서 다룬 방법으로 호출하지 않더라도 가능합니다.
다만, 해당 문제에서 overload()를 사용을 해보기 위해 넣은 것이었습니다.
다시 정리하면, chall05 이름을 가진 메서드는 MainActivity 클래스 내에 한 개만 존재하므로
chall_05.chall05().overload("java.lang.String").implementation = function(arg) {}
또는
chall_05.chall05().implementation = function(arg) {}
로 작성 가능합니다.
감사합니다.





