스칼라
-
[스칼라] 함수형 객체스칼라 2022. 1. 30. 15:46
class ComplexNumber(real: Double, imaginary: Double) { require(imaginary != 0) override def toString = s"$real + ${imaginary}i" } Programming in scala 4th edition 을 읽고 정리한 글입니다. 1. 함수형 객체: 변경 가능한 상태를 전혀 갖지 않는 객체 책에서는 분수를 가지고 설명을 하므로 복소수를 가지고 구현해보도록 한다. 2. ComplexNumber 클래스 생성 class ComplexNumber(real: Double, imaginary: Double) 스칼라는 클래스에서 사용할 파라미터를 클래스 선언과 함께 바로 정의할 수 있다. 이것을 클래스 파라미터라고 하고 스칼라 내..
-
[스칼라] 기본 타입과 연산스칼라 2022. 1. 30. 02:16
Programming in Scala 4th edition을 읽고 정리한 글입니다. 스칼라의 기본 타입은 Byte, Short, Int, Long, Char, String, Float, Double, Boolean 이 있다. 자바의 타입과 상당부분 유사하므로 기본적인 내용은 생략하고 알아둬야할 것만 정리하기로 한다. 1. raw 문자열 긴 문자열을 표현하거나 escape문자열이 많이 들어가는 경우를 지원하기 위해서 스칼라에는 raw문자열이라는 문법이 있다. println("""hihi abcdef test """ ) //출력결과 hihi abcdef test raw문자열은 위와 같이 입력된 형태 그대로 출력한다. 만약 공백을 제거하고 싶으면 아래와 같이 할 수 있다. println( """ |abcd |..
-
[스칼라] 클래스와 객체스칼라 2022. 1. 30. 00:49
Programming in scala 4th edition의 4장을 정리한 글입니다. 1. 클래스 스칼라에서 클래스는 아래와 같이 정의한다. class Computer { val name = "MacBook" private val privateName = "MacBook Pro" def printPrivateName() = println(privateName) } 클래스에는 필드(인스턴수 변수)와 메서드를 정의 할 수 있고 이 필드와 메서드를 멤버라고 부른다. 필드는 기본적으로 public 설정이고 private 키워드를 사용해서 외부에서 접근하지 못하도록 할 수 있다. var mac = new Computer println(mac.name) // println(mac.privateName) // 실행불..
-
[스칼라 입문] PRELUDE꞉ A TASTE OF SCALA 번역스칼라 2022. 1. 9. 20:10
https://docs.scala-lang.org/overviews/scala-book/prelude-taste-of-scala.html 의 내용을 번역한 것입니다. 들어가며 예제로 들어가기 전, 스칼라의 주요 특징을 살펴보자면 아래와 같다. 스칼라는 high-level language이다 스칼라는 정적 타입 언어다 스칼라의 문법은 간결하고도 이해하기 쉽다 객체 지향 프로그래밍 (OOP) 패러다임을 지원한다 함수형 프로그래밍 (Functional Programming) 패러다임을 지원한다 정교한 타입 추론 시스템을 갖추고 있다 스칼라 코드는 JVM에서 실행되는 .class 파일을 만든다 Java 라이브러리를 사용하기 쉽다 Hello, World 새 언어를 배울때 Hello, World로 시작하지 않으면 ..