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
- 리사이클러뷰풀
- appcompatacitivity
- 데코레이터 패턴
- 플로이드워셜
- AAC
- 물리 메모리
- 절대 주소
- 안드로이드
- Kotlin
- http발전과정
- NestedScrollView
- GetX
- 리사이클러뷰
- 자이고트
- DiffUtil
- 상태관리
- http 역사
- 내부 단편화
- 디자인 패턴
- 프로세스
- appcompatactivity
- Android
- recyclerview
- viewModelScope
- AsyncListDiffer
- Dispatchers
- 운영체제
- flutter
- apk 빌드 과정
- 뷰홀더
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 |