실무에서 안전한 코드 작성을 위한 방패: Defensive Copy와 불변성
소프트웨어 개발 과정에서 예기치 못한 상태 변경으로 인한 버그를 마주합니다. 이런 경우 디버깅도 힘들어지고 이후 객체의 개발 의도가 변경되고 비대해지면서 더 찾기가 힘들어집니다. 이런 문제를 개선하기 위해선 어떤 방법이 있을까요?불변성불변성이란 한번 생성된 객체는 이후 어떤 방법으로든 상태가 변경되지 않는 것을 말합니다. 불변 객체는 상태가 바뀌지 않기 때문엔 여러 스레드에서 동시접근 해도 안전하고, 예측가능하고 디버깅이 쉬운 코드 작성을 돕습니다.보통 final class로 불변 클래스를 선언해주고 내부적으로도 상태를 변경하는 코드가 없어야 합니다. 다음은 불변을 위반한 상황입니다. val person = Person("1996-08-12", "golf", 27, 179, 72)println(perso..
개발론(아키텍처 설계, 객체 지향 등)
2024. 8. 9. 02:53
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- MySQL
- 게시판
- CS
- Spring
- 코드
- 개발
- 프로젝트
- Redis
- DevOps
- 코딩
- DB
- docker
- Kotlin
- IT
- 자바
- JPA
- 동시성
- 개발자
- 면접
- 인터뷰
- 면접준비
- 취업준비
- swarm
- 취업
- 면접 준비
- thread
- 취준
- java
- 백엔드
- 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함