자식클래스의 오버라이드 한 함수를 부모 클래스의 함수(여기서 함수는 오버라이드 대상 함수입니다.)와 어떻게 연결짓고 사용할 것인가에 따라 부모 클래스의 함수를 호출하는 위치가 달라지죠. (때로는 return true;처럼 부모 클래스의 함수를 호출하지 않을때도 있구요.)
레드오션님의 질문에서는 return super.onContext....(item);을 호출하는 경우는 자식 클래스에서 역할을 다 수행하고 마지막에 반환값은 자식 클래스의 해당 함수에서 한 일과는 상관없이 부모클래스의 리턴값을 그대로 쓰겠다는거죠. (그리고 부모 클래스의 해당 함수도 마지막에 실행한다는 의미구요.)
반면에 return true; 같이 사용하는 경우에는 부모 클래스의 해당 함수를 호출하지 않고, 자식 클래스에서 오버라이드해서 구현한 부분만 실행을 하고 무조건 true를 반환하겠다는 겁니다.
음.. 상황에 따라 다르죠;;
오버라이드한다고해서 꼭 리턴을 하는 것도 아니고(리턴이 void라면 리턴을 하지 않죠.)
자식클래스의 오버라이드 한 함수를 부모 클래스의 함수(여기서 함수는 오버라이드 대상 함수입니다.)와 어떻게 연결짓고 사용할 것인가에 따라 부모 클래스의 함수를 호출하는 위치가 달라지죠. (때로는 return true;처럼 부모 클래스의 함수를 호출하지 않을때도 있구요.)
레드오션님의 질문에서는 return super.onContext....(item);을 호출하는 경우는 자식 클래스에서 역할을 다 수행하고 마지막에 반환값은 자식 클래스의 해당 함수에서 한 일과는 상관없이 부모클래스의 리턴값을 그대로 쓰겠다는거죠. (그리고 부모 클래스의 해당 함수도 마지막에 실행한다는 의미구요.)
반면에 return true; 같이 사용하는 경우에는 부모 클래스의 해당 함수를 호출하지 않고, 자식 클래스에서 오버라이드해서 구현한 부분만 실행을 하고 무조건 true를 반환하겠다는 겁니다.