티스토리 뷰
변수
변수 선언 키워드
val (value)
- 읽기 전용(readOnly)로 자바의 final 키워드가 붙은 변수
- 자바스크립트의 const 와 비교해 생각하면 쉽다.
- val은 value( 값 ) 라는 의미를 가진다.
var (variable)
- 가변, 즉 변경 가능한 변수를 의미한다.
- 값을 변경하는 것은 가능 하지만, 동적타입 언어(ex. JavaScript, Python )처럼 한 번 초기화된 타입이 아닌 타입으로 변경하는 것은 불가능하다.
- 자바스크립트의 let 과 비교해 생각하면 쉽다.
- var는 variable( 변수 ) 라는 의미를 가진다.
자바와 다른 특징
- Top-Level( 함수 혹은 클래스 밖 ) 에서 선언 가능.
- Type을 지정 하지 않아도 타입 추론이 된다. ( JDK 10 에서 추가된 var를 이용하면 자바에서도 가능 )
- 지연 할당이 가능하다. 즉, 초기화 하지 않은 상태로 변수 선언이 가능하다. 하지만 사용 전에는 초기화 해주지 않으면 컴파일 에러가 발생한다.
함수
코틀린의 다양한 함수 선언 방법
1. 몸통이 있는 함수 선언
- fun 키워드를 사용한 몸통이 있는 함수.
- fun [함수명](Argument:Type...):[Type] {...} 의 형태를 가진다.
2. 표현식을 사용한 함수 선언
- 반환 타입의 타입 추론이 가능하다. (몸통이 있는 함수는 타입추론이 불가능)
특징
반환 타입이 없는 경우 Unit Type이 반환된다. ( 자바의 Void 타입으로 이해할 수 있다. )
디폴트 파라미터 (default parameter)를 제공할 수 있다.
- 파라미터의 기본 값을 설정할 수 있다.
네임드 아규먼트 (Named Argument) 사용
- 기존 자바에서는, 파라미터의 순서가 중요했다. 코틀린의 경우 이러한 파라미터 이름을 직접 지정하여 순서와 상관 없이 사용할 수 있도록 하여 가독성을 높였다.
Top-Level에 선언 가능
- 기존 자바의 메서드는 항상 클래스 내부에 위치 해야했다. 이와달리 코틀린은 클래스 밖에 (Top-Level)에 함수가 위치할 수 있다.
함수 명에 띄어쓰기 혹은 예약어 사용 가능
- 벡틱(`) 을 활용하면 함수명에 띄어쓰기 혹은 예약어를 포함할 수 있는데, 테스트 코드의 함수명으로 사용하면 가독성을 높일 수 있다.
'BackEnd > Java&Kotilin' 카테고리의 다른 글
[Java] 생성자(Producer)-소비자(Consumer) Pattern (0) | 2022.08.24 |
---|---|
[Java]병렬 스트림( Parellel Stream ) (0) | 2022.08.21 |
[Java] 자바의 에러와 예외 (0) | 2022.08.15 |
[Java] 람다 ( Lambda ) 와 캡쳐링 (0) | 2022.08.09 |
[Java] 컴파일 방법과 Option (0) | 2022.08.02 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Clean Architecture
- Memory Fragmentation
- pass by reference
- 메모리 파편화
- 컴포짓 패턴
- 외부 단편화
- 장애 해결기
- pool
- 객체 풀
- 정적 타입 언어
- Session
- 동적 디스패치
- 내부 단편화
- 클린 아키텍처
- RestAssured
- 메모리 단편화
- SpringBoot 2.2
- Object Pool
- ATDD
- 뾰족함
- java
- 수직 분할
- Sticky Session
- 육각형 아키텍처
- multimap
- 수평 분할
- 동적 타입 언어
- pass by value
- 세션 불일치
- OOP
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함