자바 공부한지도 좀 된거 같은데..
아직도 인터페이스를 완전히 이해하지 못하는것 같습니다.
인터페이스 이 부분을 완전히 정복해야 안드로이드 SDK 구조들이 잘 보일거 같은데..
쩝...
이벤트 리스너 구조조차 잘 보이지 않으니 답답합니다.
혹시 인터페이스에 대해 정말 강력한 한방으로 설명해주시면 더할 나위 없이 감사드리고,
그게 아니라도.. 잘 설명이 되어 있는 블로그나 이런곳 알려주시면 감사하겠습니다.ㅠㅠ
윤성우의 열혈강의 자바라는 강의로 인터페이스를 한 4번 반복수강했는데..
쉽게 설명해주시긴 하는데 와닿는 느낌이 별로 없고,
자바의 정석은 이해하기가 조금 어려운것 같습니다.. 이해력이 딸리나봐요.ㅠㅠ
부탁드립니다. 선배님들
설명만 읽기보다 인터페이스 사용해보시면 도움이 될 것 같네요.
이벤트 리스너 구조를 자세히 파보면
A라는 녀석이 파일을 열어 내용을 읽는 일을 한다고 하면
A의 읽기 완료 이벤트는 데이터 내용을 처리하는 이벤트가 되겠죠.
즉 onRead(String data); 를 가지는 인터페이스가 되겠습니다.
그럼 이 후에 B라는 녀석이 file.txt를 읽어와야 하고, 읽어오는 동안 다른 일을 해야한다면
1. A의 이벤트리스너 인터페이스의 onRead(String data)를 재정의합니다.
@override
public void onRead(String data){ //data를 이용해 하고 싶은 처리 }
2. [1]에서 재정의한 리스너를 A에 등록해 둡니다. setOnReadListener(onReadInterface); - ⓐ
3. A에게 데이터 읽기를 요청합니다.
위의 1,2,3을 통해서 B는 A를 사용해 파일을 읽을 수 있고, 읽기 완료 후 처리할 기능을 재정의 했습니다.
다시 A로 가보면,
B에서 파일 읽기가 완료되면 처리할 일을 가지고 있습니다. ⓐ에서 B가 재정의한 인터페이스를 A에게 알려줌
B에서 특정 파일 읽기를 요청합니다. 그럼 해당 파일을 읽어서 ⓐ에서 받아온 interface의 onRead함수를 실행해주는 것이 이벤트 리스너의 구조입니다.
이 외에도 인터페이스의 사용처는 많지만.. 하나의 흐름을 알면 나머지도 쉽지 않을까 싶네요.
어려운건 어려운거같아요.. 이해하고 개념잡기가 제일 힘들죠 ㅠ.ㅠ
쉽고 좋은곳 있으시면 저도 알려주세요 ㅠㅠ