자바 초보 프린이인데여
안드로이드 스튜디오인가 그거인데 제가 공부하는건 아니구요 그냥 유튜브 보다가 궁금해서 보는데..
저 빨간색부분이 잘이해가안가요.
저부분에 보면 setOnTouchListener함수를 호출하는데 매개변수로 바로 빨간색 부분인 new View.onTouchListenr() {}를 보내는데요..
이부분을 어떻게 해석하면 좋을지 모르겠어요.. 함수의 내용이아니라 저 매개변수 자체부분이요..
new라는것은 클래스나 이제 참조타입 선언할때 쓰는건데..new에다가 함수를 참조?하면서 매개변수로 보내잖아요..? 함수를 매개변수로 받는게 가능한가요??
맞다면 저부분은 함수를 new를 통해 선언과 동시에 매개변수로 보내는데 뭐 함수의 참조값 즉 주소같은것을 보내는것인가요??
ㅇㅇ
아 호출한곳에수 함수의 주소값을 참조하도록 하는것인가요?
함수가 아니라 객체를 파라매터로 받는거. 자바에서 함수는 일급객체가 아니라서 파라매터로 넘길수가 없어.
산생님 그럼 이해가 잘안가는데 저 빨간부분은 분명 함수인거 같은데..생성자도 아닌거같구..이해가 가질않습니다
익명 객체.
아,,선생님 감사합니다 익명객체라는 키워드가 따로있군요 감사합니다..공부하겠숩니다
ㅇㅇ.. 참고로 setOnTouchListener가 파라매터로 받는 객체는 View가 아니라 OnTouchListener임. OnTouchListener는 View 클래스 안에서 선언된 static class 이고.
View.OnTouchListener() 이런식으로 되어 있으면 보통 View 라는 클래스안에 OnTouchListener() 객체가 있다고 하잖아. View 클래스 트레이싱해서 들어가보면 public class OnTouchListener() 대충 이런식으로 있을거임. 이해 안될때는 경로 추적해서 들어가서 이 객체가 뭐하는건지 보면 좀 도움됨.