- 예전 버전이 최신 단말기에서 실행이 잘 된다면 '상위 호환'
- ex) 최신 단말기에 터치로 확대/축소 기능이 추가되었을 때 예전 버전을 실행해도 이 기능이 동작 한다면 상위 호환
- 이전 버전에서 만든 입력값을 처리할 수 있다면 '하위 호환'
- 이전 버전에서 만든 기능을 다음 버전에 삭제하지 않고 그대로 가져감
minSdkVersion 이상에서 지원하는 어떤 기능을 사용하고자 하는 위함.
실제 컴파일에는 관여하지 않는다. 빌드 시 버전을 낮추어도 원하는 클래스의 메소드를 컴파일 할 수 있다.
ex) 단말기가 API24, targetSdkVersion이 API23 이라면 API23 단말기 까지는 정상작동이 됨을 의미하며, 상위호환이 되지 않는 버전이라면 정상 동작 여부는 알 수 없다.
즉, targetSdkVersion에 따라 앱의 행동 로직이 달라진다.
Google Store에 업로드를 할 때 최소로 요구하는 API 레벨이 있는데, 해당 레벨을 맞추지 못하면 리젝의 사유가 됨.
minSdkVersion <= targetSdkVersion <= compileSdkVersion
minSdkVersion <= targetSdkVersion == compileSdkVersion