-
카테고리
-
해결 여부
미해결
클래스 -> 테스트 메소드 호출 연결 부분에서 혼동이 와서 질문합니다.
19.02.26 09:54 작성 조회수 74
0
클래스에서 해당 인터페이스를 사용하게 되는데 main 함수에서 test_method로 클래스 타입을 넘길 때 혼동이 와서 문의 합니다.
main()...{
var t1 = TestClass1()
test_method1(t1) //매개 class 형이 매개변수 타입이 되어야 할거라고 예상했음
}
fun test_method1(a1 : Inter1){ // a1 변수로 Inter1 타입으로 받는다는건지???
a1.method1()
a1.method2()
}
기존 자바사용하는 방식이랑 다른것 같아 문의합니다.
감사합니다.
답변을 작성해보세요.
0
이기백
질문자2019.04.02
음 기존 자바 메소드라고 한다면 public String method(ClassType a) 형식으로 메소드를 사용하는데 코틀린은 이런 부분이 명시적으로 보이지 않아서 질문드린겁니다...
a1으로 call by reference 고 Inter1이라는 타입으로 함수 리턴인건지 아니면 함수 리턴형이 void인건지 헷갈리더군요.
0
소프트캠퍼스
지식공유자2019.03.12
자바와 동일한 부분입니다. 자바 뿐만 아니라 대부분의 객체지향 프로그래밍 언어들은 객체의 클래스 타입 변수에 주소값을 담는것 뿐만 아니라 상속관계에서의 부모클래스형 참조변수, 구현한 인터페이스형 참조변수에 담을 수 있습니다. 단 부모클래스가 있지고 있는 맴버나 인터페이스에 정의된 추상메서드를 구현한 메서드만 사용이 가능합니다. 이는 객체지향 프로그래밍 언어 이론에 나오는 다형성과 관련된 부분이며 자바를 포함한 대부분의 객체지향 프로그래밍 언어들이 지원합니다.
답변 2