1. Any ***
=> Kotlin 의 최상위 클래스
=> 모든 자료형의 데이터를 전부 저장 가능
*** => Any 로 되어 있으면 어떤 종류의 데이터든지 대입이 가능
*** Any 로 되어 있는 데이터를 사용을 할 때는 반드시 원래의 자료형으로 형 변환 해서 사용해야 합니다.
>> 객체 지향 언어를 처음 했다면 상위 클래스와 하위 클래스의 관계는 반드시 기억해두자!
View를 달라는 것은 View 로 부터 상속 받은 건 모두 주어야한다! 그 반대는 View가 아닐 수 있다.
2. Nullable ***
=> Kotlin 의 자료형들은 null 을 저장 할 수 가 없다!
=> null 을 저장할 수 있도록 하려면 자료형 ? 형태로 설정해야한다.
=> ? 가 없는 자료형의 데이터는 ? 가 있는 자료형에 대입이 가능하지만 반대는 안된다.
3. Unit
=> 함수의 리턴타입에만 사용할 수 있는 자료형으로 함수의 리턴이 없다 라는 의미 인데,
생략이 가능하기 때문에 대부분 생략합니다.
4. Nothing
=> 함수의 리턴 타입에만 사용하는데 의미있는 데이터를 리턴하지 않는다는 의미이다!
다른 함수에게 영향주는 것은 pure 함수가 아니다!
return 이 필요 없을 때 Unit을 하면 권장되는 개발 루트가 아니니! Nothing을 쓰면 된다
개발자들이 실제로 잘 사용하지 않지만 의미상 사용 ㅎ
5. 형 변환
=> 데이터의 자료형을 변환 하는 것
=> 숫자 자료형과 Char, String 사이의 변환
문자를 숫자로 변환하거나 숫자를 문자로 변환하기 위해서 수행
Android 에서는 View들은 기본적으로 문자열만 입력 받고 출력할 수 있습니다.
=> 숫자 자료형끼리 변환
각 클래스에 존재하는 toXXX()를 호출해서 변환
동일한 숫자 타입이 아니면 연산이 안된다!
10 + 10.7
큰 사이즈의 데이터를 작은 사이즈의 데이터로 변환 하거나,
작은 사이즈의 데이터를 큰 사이즈의 데이터로 변환 해서 대입 해야하는 경우 사용
실수를 사용할 때 이런 문제가 많이 발생하는데 최근의 API는 Double을 많이 사용하는데 예전 API들이 Float을 사용하는 경우가 있기 때문입니다.
초창기 스마트폰 API들은 메모리가 작았기 때문에 Float을 많이 사용했으나
메모리 크기가 커지면서 Float 보다는 Double을 사용하는 형태로 변경이 되었기 때문!
예시
선두께를 결정하는 자료형은 Float으로 결정!
화면 크기를 리턴하는 함수의 자료형은 Double 인 경우 >> Double이 더 크기 때문에 toFloat을 해야 한다
(단위는 dip dp sp 백분율 등을 사용한다)
10.7.toFloat()으로 대입
=> 숫자 자료형이나 Char, String 이 아닌 클래스의 데이터를 변환
상속 관계에서 상위 클래스 자료형으로 만들어진 데이터를 하위 클래스 자료형으로 변환합니다.
'kotlin' 카테고리의 다른 글
코틀린 벡터 데이터 타입 (0) | 2020.10.13 |
---|---|
코틀린: 자료형에서 유의해야 할 점 코딩해보기 (0) | 2020.10.13 |
코틀린의 데이터 타입 1 (0) | 2020.10.13 |
코틀린 : 매개 변수의 개수를 설정하지 않고 대입할 수 있는 기능 varargs (0) | 2020.10.13 |
kotlin: 클래스의 메소드 오버라이딩? (0) | 2020.10.13 |