스칼라에서 1
(Int 리터럴)과 같은 원시 타입(Primitive)은 객체(Object)로 취급된다. 그래서 +와 같은 연산자는 사실 (1)이라는 원시 타입 객체의 메소드이다.1 + 2
라는 식은 1
이라는 객체에 +
라는 메소드를 호출하는 것이고 인자로 2
가 전달되는 것이다.
스칼라에서는 +-*/같은 수학 연산을 지원하기 위해 연산자 메소드들에는 우선순위를 매기고 있다. +와 *를 순서대로 호출하더라도 *가 먼저 수행되어야 하기 때문이다.
이와 같은 표현 방식은 연산자 표기방식(Operator notation) 또는 infix 표기방식이라고 한다.
스칼라의 원시 타입은 스칼라에서 객체로 취급되지만, 컴파일 이후에는 성능을 위해 자바의 원시 타입을 이용한다.(자바의 원시 타입을 쓸 수 있는 경우에 만!)
'Scala' 카테고리의 다른 글
Part3 메소드와 함수) 메소드 정의 (0) | 2019.02.22 |
---|---|
Part2 편리한 스칼라) 문자열 다루기 (0) | 2019.02.21 |
Part2 편리한 스칼라) 숫자 다루기 (0) | 2019.02.21 |
Part2 편리한 스칼라) Range와 List (0) | 2019.02.21 |
Part1 변수와 계산) 출력하기 (0) | 2019.02.21 |