일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 안정성
- 컴포즈
- Python
- MVVM
- Jetpack
- Di
- dagger2
- Room
- Observable
- mock
- 파이썬
- Android
- 안드로이드 디자인패턴
- 공격적 프로그래밍
- 단위테스트
- rxjava
- 디자인패턴
- 제한함수
- ViewModel
- 테스트의 장점
- compose
- Kotlin
- 코틀린
- 자료구조
- 유닛테스트
- 깃
- UnitTest
- 안드로이드
- 코딩테스트
- git
Archives
- Today
- Total
세상을 바꾸는 개발자
[이펙티브 코틀린] 코틀린의 안정성 - use를 사용하여 리소스를 닫아라 본문
안드로이드는 자바와 코틀린 2가지 언어로 개발을 할 수 있지만 요즘 자바를 사용해서 개발하는 경우는 찾아보기 힘듬니다
저또한 코틀린을 사용합니다 하지만 사용하면서 잘 몰랐던 부분도 있고 한번도 써보지않는 편리고 좋은 기능들이 많이 존재합니다 그래서 이번에 복습할겸 이펙티브 코틀린의 내용으로 정리를 하려고 합니다.
안정성 - use 를 사용하여 리소스를 닫아라
더 이상 필요하지 않을 때 close 메서드를 사용해서 명시적으로 닫아야하는 리소스가 있다 예를 들어
- InputStream, OutputStream
- java.sql.Connection
- soket, Scanner 등등
이러한 리소스들은 AutoCloseable 을 상속받는 Closeable 인터페이스를 구현하고 있다
이러한 모든 리소스들은 최종적으로 리소스에 대한 래퍼런스가 없어질 때, 가비지 컬렉터가 처리하지만 굉장히 느리며 그 동안 리소스를 유지하는데 많은 비용이 발생
그래서 필요하지 않을때 명시적으로 close 메서드를 호출해주는 것이 좋다.
이때
use 를 사용하면 Closeable/AutoCloseable 을 구현한 객체를 쉽고 안전하게 처리 할 수 있다 또한 파일을 처리할 때는 파일을 한 줄씩 읽어 드리는 useLines 를 사용하는 것이 좋다
참고 : 이펙티브 코틀린
'안드로이드 > Kotlin' 카테고리의 다른 글
[이펙티브 코틀린] 단위 테스트를 만들어라 (0) | 2023.07.20 |
---|---|
[이펙티브 코틀린] 코틀린의 안정성 - 적절하게 null 을 처리하라 (0) | 2023.07.18 |
[이펙티브 코틀린] 방어적 프로그래밍 vs 공격적 프로그래밍 (0) | 2023.07.17 |
[이펙티브 코틀린] 결과 부족이 발생할 경우 null과 failure를 사용하라 (0) | 2023.07.16 |
[이펙티브 코틀린] 코틀린의 안정성 - 사용자 정의 오류보다는 표준 오류를 사용하라 (0) | 2023.07.15 |
Comments