본문 바로가기

Languages/Scala

(10)
[스칼라] 데이터 타입, 표현식 스칼라는 Java와 달리 primitive type이 없습니다. 즉, 모든 데이터들은 객체로 취급됩니다. 작업하는 데이터의 종류를 스칼라에서는 타입 type 이라 부르며, 스칼라의 모든 데이터는 타입에 대응됩니다. 다음 그림은 스칼라의 타입 계층 구조 다이어그램입니다. Any는 스칼라에서 모든 타입의 루트이며, 톱타입이라고도 합니다. equals, toString 등의 범용 메소드가 정의되어 있으며, 인스턴스화 될 수 없고, 모든 값 타입의 루트인 AnyVal과 모든 참조 타입의 루트인 AnyRef를 서브클래스로 가집니다. 이 두 클래스 역시 인스턴스화 될 수 없습니다. Nothing은 모든 타입의 서브타입이며, 타입으로만 사용되고 마찬가지로 인스턴스화 될 수 없습니다. 문자 그대로 널(null)값을 의..
[스칼라] 스칼라 개요 및 Mac에서 스칼라 개발환경 설정하기 이번에 업무상 스칼라를 공부할 일이 생겨 복습 겸 공부한 내용을 정리하기로 했습니다. 스칼라는 확장 가능한 언어 라는 뜻의 SCAlable LAnguage의 약자로, JVM 상에서 구동되며 함수형 프로그래밍과 객체지향 프로그래밍의 특징을 동시에 지원하는 언어입니다. 스위스 로잔 연방 공과대학교(EPFL)의 마틴 오더스키 교수가 개발하였으며, Java의 기능 확장을 위하여 고안되었습니다. 실제로 별다른 절차 없이 자바의 소스코드를 가져다 쓸 수 있습니다. object HelloWorld { def main(args:Array[String]) { println("Hello, World!") } } 혹은 object HelloWorld extends App..