나중에도 봐야겠지?

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도 이므로나머지를 다 평각으로 분류하면 될 것 같다

코틀린을 배웠다면 쉬운 문제였겠지만 아직 배우지 않았기에 답을 보면서 이해해야 했다

그렇지만 새로운걸 알아갈 수 있어 의미있는 시간이었다고 생각한다