안드로이드 개발 질문/답변
(글 수 45,052)
Activity 를 상속받은 클래스 A, B 가 있습니다.
B에서 A를 호출하는데,
startActivity(intent) 로 부르지 않고 일반 클래스처럼 생성자를 사용하여 클래스를 객체화하였습니다.
그 후, 생성자를 통해 생성된 A 객체에 있는 함수를 가져다 사용하려고 했는데
오류가 발생하더군요..
원래 이런 방식으로는 해당 클래스를 사용할 수 없는건가요?
아님 Activity 클래스를 상속받았기 때문에 생성자에 onCreate() 함수를 호출하도록 해줘야 하는건가요??
코드 재사용성을 위해 저렇게 하려고 해봤는데 안되는걸 보고 좌절중이랍니다...
어떤 글을 보니 저런 경우라면 따로 class 로 빼낸 후 그 클래스를 가져다가 사용하라고 되어있던데
Activity클래스를 상속받아야만 쓸 수 있는 몇가지 함수들때문에 따로 빼서 사용해보려는 노력도 허사였던 적이 있습니다..
단순한 Ctrl+c, Ctrl+v 로 저 함수의 코드를 복사하여 쓰는 것은 왠지 굉장한 낭비처럼 느껴집니다...ㅎ
B에서 A를 호출하는데,
startActivity(intent) 로 부르지 않고 일반 클래스처럼 생성자를 사용하여 클래스를 객체화하였습니다.
그 후, 생성자를 통해 생성된 A 객체에 있는 함수를 가져다 사용하려고 했는데
오류가 발생하더군요..
| class B extends Activity { A tmp = new A(); tmp.method(); // 오류 발생. } |
원래 이런 방식으로는 해당 클래스를 사용할 수 없는건가요?
아님 Activity 클래스를 상속받았기 때문에 생성자에 onCreate() 함수를 호출하도록 해줘야 하는건가요??
코드 재사용성을 위해 저렇게 하려고 해봤는데 안되는걸 보고 좌절중이랍니다...
어떤 글을 보니 저런 경우라면 따로 class 로 빼낸 후 그 클래스를 가져다가 사용하라고 되어있던데
Activity클래스를 상속받아야만 쓸 수 있는 몇가지 함수들때문에 따로 빼서 사용해보려는 노력도 허사였던 적이 있습니다..
단순한 Ctrl+c, Ctrl+v 로 저 함수의 코드를 복사하여 쓰는 것은 왠지 굉장한 낭비처럼 느껴집니다...ㅎ




이 글을 보면 Activity에서 작성해놓은 함수를 가져다가 쓸 방법이 없다고 말하고 있는거 같은데..