나중에도 봐야겠지?
2024.04.03 Kotlin if else (feat.==)
혹시나도?
2024. 4. 3. 18:02
코틀린 문제를 풀어보았다
코틀린을 아직 배우지 않아서 무슨 말인지 잘 모르겠다
그래서 검색을 통해 알아보고자 했다
class Solution {
fun solution(angle: Int): Int {
val result = if(angle < 90){
return 1
} else if(angle == 90){
return 2
} else if(angle < 180){
return 3
} else {
return 4
}
}
}
이런 코드가 있다
여기서 if else를 사용한 걸 볼 수 있다
예각은 90도 초과이므로 angle < 90으로 표기할 수 있다
이해가 조금 되기 시작했다
아직 문법은 잘 모르기 때문에 감으로 이해할 수밖에 없다
그렇다면 angle == 90 이건 뭘까?
이거에 대해 찾아보았다
동일성 (equality)
- 두개의 오브젝트가 완전히 동일한 것을 의미한다.
- 하나의 오브젝트만 존재하는것이며 그 오브젝트를 참조하는 여러개의 레퍼런스 변수를 갖고 있는것을 의미한다. (정확히 같은 메모리 주소를 가지고 있음)
- 코틀린에서는 자바와 달리 ==를 사용시 내부적으로 .equals를 호출한다. (동등성)
동등성 (identity)
- 동일한 정보를 가지고 있는 오브젝트를 의미한다.
- 메모리상에 각기 다른 오브젝트가 존재하는 것이며 각 오브젝트의 기준에 따라 동등하다고 판단한다.
- 주소값을 비교하고 싶다면 ===을 사용한다. (동일성)
그렇다면 angle == 90은 angle이 90도 와 같다는 걸 표기한 거라고 이해할 수 있다
이건 나중에 코틀린을 본격적으로 시작하면 다시 알아봐야겠다
둔각은 90도 초과 180도 만이므로 angle < 180으로 표기할 수 있다평각은 180도 이므로나머지를 다 평각으로 분류하면 될 것 같다
코틀린을 배웠다면 쉬운 문제였겠지만 아직 배우지 않았기에 답을 보면서 이해해야 했다
그렇지만 새로운걸 알아갈 수 있어 의미있는 시간이었다고 생각한다