인프런 커뮤니티 질문&답변

jminie님의 프로필 이미지
jminie

작성한 질문수

냉동코더의 알기 쉬운 Modern Android Development 입문

Dependency Injection 기초

의존성의 문제가 있어도 컴파일 타임에 확인하는 것이 불가능하다는 것의 의미

작성

·

315

0

여러 의존성 라이브러리의 장단점을 찾아보다 보면

"컴파일 타임에 문제를 확인할 수 있다"

"컴파일 타임(Complie Time)에 의존성 주입 코드를 생성해 런타임 성능이 좋다"

"런 타임(Run Time)에 의존성 주입 코드를 생성해 성능이 좋지 않다"

이러한 글들을 볼 수 있는데요

컴파일 타임에 의존성 주입 코드를 생성하는 것이 왜 성능이 좋은 것인지?

컴파일 타임에 문제를 확인할 수 있다는 것이 왜 장점인지?

이 두가지가 궁금합니다!

답변 1

2

냉동코더님의 프로필 이미지
냉동코더
지식공유자

컴파일 타임이란 개발자가 빌드하는 시간이고 런타임은 사용자가 앱을 사용하는 시간이죠.

의존성 주입이 잘못된걸 컴파일 타임에 확인하면 바로 코드를 수정하는 것으로 끝나지만 런타임에 의존성 주입이 잘못되면 NPE로 앱이 크래시 나버리게 되어 유저에게 나쁜 경험을 주게 되고 그걸 보고로 받아 문제를 역추적해서 수정해야 하는 번거로운 과정을 거쳐야 하게 되지요.

성능도 런타입에 주입하면 그만큼 처리에 시간이 걸려 사용중인 앱이 느려지게 되는데 컴파일타임에 주입을 해 놓으면 그럴 문제가 없죠.

jminie님의 프로필 이미지
jminie

작성한 질문수

질문하기