isReturn을 val로 선언해서 얻는 이점이 있을까요?
334
작성한 질문수 31
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
선생님의 이전 강의를 들을 때도 신기하면서도 의아하기도 했던 부분인데요
그냥 그런가보다 하고 넘어갔는데 보면 볼수록 궁금해서 여쭤보게 되었습니다
fun isReturn(): Boolean { this.status == LoanStatus.RETURNED }
이 코드랑 비교했을 때 val isReturn을 필드처럼 사용하는 게 어떤 부분에서 이점이 있는 것인지 궁금합니다.
별다른 이점이 없다면 오히려 팀원들이 익숙한 방향(함수 사용)으로 가는 게 맞는 것 같아서요!!
답변 1
1
안녕하세요, 으뀨뜌님!! 😊 항상 좋은 질문 남겨주셔서 감사드립니다!!
말씀해주신 것처럼 이 부분이 애매~한 부분이긴 합니다!! isReturn() 과 같은 함수로 만드나~ isReturn 과 같은 프로퍼티 형태로 만드나 기능적으로 동일한 뿐 아니라 결국 JVM 레벨에서는 함수로 간주되거든요!
fun isReturn(): Boolean = this.status == RETURNED
val isReturn: Boolean
get() = this.status == RETURNED우선 결론부터 말씀드리면, 프로퍼티 형태(custom getter)를 사용한다고 해서 딱히 직접적인 이점이 있지는 않습니다. 굳이 따지면 해당 기능을 사용하는 입장에서
isReturn뒤에 괄호를 붙이지 않아도 되서 타이핑이 매우 소폭 줄어들고행동보다는 '속성' 같은 느낌을 줄 수 있다
정도 인 것 같아요!
따라서, "오히려 팀원들이 익숙한 방향(함수 사용)으로 가는 것" 역시 좋은 의견이라고 생각합니다! 👍
다만, 개인적으로는 행동과 속성을 구분하려 노력하다 보니, isReturn 과 같이 단편적인 기능은 함수 보다는 프로퍼티 형태가 익숙해지더라고요 ㅎㅎㅎ 그래서 후자의 방식을 선호하는 편입니다.
또 궁금한 점 있으시면 편하게 질문 남겨주세요! 감사합니다!! 🙏🙏
안녕하세요 혹시 프론트 코드 제공받을 수 있을까요?
0
69
2
실행이 안되네요
0
67
2
프론트 영역 보는법
0
52
2
companion object
0
79
2
Custom 레프직토리 형식
0
60
2
Querydsl 도입
0
68
2
fetch join DISTINCT 중복제거
1
84
2
표준 예외와 커스텀 예외 사용 전략 질문
0
92
3
이 질문이 왜 없는지 이해가 안 되지만 문제 인식 및 해결 방법 남깁니다.
1
177
2
테스트를 위한 코드
1
105
2
프로젝트 실행 에러
0
153
2
PDF 문서에 오타가 있어서 알려드립니다.
1
102
1
enum질문
1
86
1
테스트 후 AfterEach 함수에서 나오는 쿼리
0
136
2
테스트 fixture
1
211
2
./gradlew test 실행시 인식할수 없다고 뜹니다.
0
141
1
test 코드 실행시 경고가 발생합니다.
0
141
1
13강 User Kotlin 변환중
2
170
3
'추가 - 코프링과 플러그인' 강의 7:46 allopen 관련 질문
2
174
1
-
0
141
2
4:28 build.gradle 수정 시 kotlin-reflect관련 implementation 추가 해야할까요?
0
314
3
junit import 불가
0
276
3
테스트 코드와 관련하여 질문이 있습니다.
1
219
1
hibernate가 select를 두번 하는 이유
0
240
1





