안드로이드에서 추상 클래스나 인터페이스를 상속받게 되면 필수로 구현해야 하는 함수들이 있습니다. 안드로이드 스튜디오에서는 이러한 필수 재정의 함수들을 일일이 코드로 입력할 필요가 없습니다. 안드로이드 스튜디오에서는 상속받는 추상 클래스나 인터페이스로부터 반드시 재정의 해야 할 함수들에 대한 목록을 제공하고 사용자가 선택한 항목들에 대해서 자동으로 코드로 추가해주는 기능이 있습니다. 여기서 필수 재정의 함수말고도 상속받는 인터페이스나 추상클래스로부터 재정의가 가능한 함수들에 대해서도 자동으로 코드 입력이 가능합니다.
1. 필수 재정의 함수 (Override Function) 자동 코드 추가
▼ Sample 클래스는 AsyncTask 라는 추상클래스를 상속받는 클래스입니다. 그런데 안드로이드 스튜디오에서 오류로 처리하고 있는데 이유는 AsyncTask를 상속받으면 반드시 재정의 해야 할 함수를 구현하지 않았기 때문입니다. 지금같은 경우는 오류를 살펴보면 doInBackground() 함수만 재정의해주면 됩니다. 만약 재정의 해야 할 함수가 많다면 일일이 개발자가 코드를 입력해야합니다.
▼ 반드시 추가하는 재정의 함수 코드가 입력되는 Class 영역안에 입력 포커스가 된 상태일 때 마우스 우클릭으로 메뉴 창을 활성화를 시켜줍니다. [Generate...] - [Implement Methods...] 메뉴를 선택해줍니다.
단축키는 Ctrl+I 입니다. 마찬가지로 Class 영역안에 입력 포커스를 맞추고 사용하시기 바랍니다.
▼ 그러면 위와 같이 창이 하나가 활성화됩니다. AsyncTask 추상 클래스를 상속받으면 반드시 재정의해야 할 함수 목록을 보여주는 화면으로 자동 코드를 추가하고자 하는 함수를 선택 후 OK 버튼을 클릭합니다.
2. 재정의가 가능한 함수 코드 자동 추가
위에서는 필수로 구현해야 할 재정의 함수의 코드를 자동으로 추가하는 방법이라면 이번엔 해당 클래스에서 상속받는 인터페이스나 추상 클래스로부터 필수 구현은 아니지만 재정의가 가능한 함수들을 자동으로 추가하는 방법입니다.
▼ [Generate] - [Override Methods] 메뉴를 선택합니다. 또는 단축키 Ctrl + O 사용합니다.
▼ 해당 Sample 클래스에서 상속받는 추상 클래스 또는 인터페이스로부터 재정의가 가능한 모든 오버라이딩 함수 목록이 보입니다. 여기서 원하는 함수를 선택하여 OK 버튼을 클릭해줍니다.