Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 리사이클러뷰풀
- NestedScrollView
- Android
- apk 빌드 과정
- 디자인 패턴
- 플로이드워셜
- Dispatchers
- 안드로이드
- 내부 단편화
- flutter
- 상태관리
- DiffUtil
- 프로세스
- 절대 주소
- http발전과정
- 데코레이터 패턴
- 리사이클러뷰
- recyclerview
- appcompatacitivity
- appcompatactivity
- 자이고트
- Kotlin
- AAC
- http 역사
- viewModelScope
- AsyncListDiffer
- 물리 메모리
- 운영체제
- GetX
- 뷰홀더
Archives
- Today
- Total
hong's android
[Java] 리플렉션 본문
리플렉션이란?
동적으로 클래스의 정보를 분석하거나, 클래스의 메소드를 호출 할 수 있게해주는 api
리플렉션 단점
1.컴파일 최적화를 하지 못한다.
리플렉션을 실행하는 부분은 미리 실행 내용에 대한 정보를 알지 못하므로 jvm은 컴파일 타임에 최적화 하지 못한다.
JIT Compiler의 Bytecode Caching, Opcode Optimization.. 등
초기 호출 이후로는 캐싱을 통해서 Reflection API를 통한 메서드 호출도 최적화된다는 것을 의미한다.
2.정적으로 타입 검사를 하지 못한다.
정적을 타입 검사를 하지 못하므로 런타임에 타입 오류가 날 수 있다.
3.캡슐화 저해
접근 제한자에 상관없이 리플렉션은 접근 할 수 있다.
그럼에도 불구하고 왜 필요한가?
컴파일 타임에는 알 수 없지만 런타임에 동적으로 클래스의 정보를 확인하고 메소드를 실행 시킬 수 있다.
https://lob-dev.tistory.com/entry/Java의-Reflection-API
Java의 Reflection API와 성능 이슈?
Reflection이란? Compile Time에 Class나 Method 명을 알지 못하더라도 Runtime에 Type, Classpath를 이용하여 인스턴스화, 객체의 상태, 메서드 정보 등을 가져올 수 있도록 지원하는 API이다. 사용하는 Library, Fram
lob-dev.tistory.com
'Develop > Java' 카테고리의 다른 글
[Java] 제네릭, 래퍼 클래스 (0) | 2023.02.11 |
---|---|
[Java] Synchronized (1) | 2023.02.11 |
[Java] Garbage Collector (0) | 2023.01.02 |
[Java] 자바 정리 (0) | 2022.12.31 |
[Java] Map 인터페이스 (0) | 2022.12.31 |