스칼라에서 메소드는 다양한 형태로 정의할 수 있습니다.
우선 리턴 값이 있는 메소드는 메소드를 정의하는 블록 { }
전에 =
을 적어주어야 합니다.
그리고 리턴 키워드는 옵션입니다. 적어주지 않으면 리턴 타입은 리턴 값에 의해 결정됩니다.
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 | object LearnScala { // ① 일반적인 메소드 def add(x:Int, y:Int):Int = { return x + y } // ② return을 생략한 메소드 def addWithoutReturn(x:Int, y:Int) = { // x + y는 int이므로 return타입은 Int로 결정됩니다. x + y // return을 적어주지 않아도 마지막 값이 return값입니다. } // ③ 메소드가 한 줄일 경우 중괄호{}를 생략해도 됩니다. def addWithoutBlock(x:Int, y:Int) = x + y def abs(x:Int) = x.abs def Max(x:Int, y:Int):Int = { x.max(y) } def main(args: Array[String]): Unit = { println(s"① ${add(1,2)}") println(s"② ${addWithoutReturn(1,2)}") println(s"③ ${addWithoutBlock(1,2)}") println(s"④ ${abs(-3)}") println(s"⑤ ${Max(-1,5)}") } } | cs |
출력 〉 | ① 3 ② 3 ③ 3 ④ 3 ⑤ 5 |
'Scala' 카테고리의 다른 글
Part3 메소드와 함수) 익명함수2 (0) | 2019.02.22 |
---|---|
Part3 메소드와 함수) 익명함수1 (0) | 2019.02.22 |
Part2 편리한 스칼라) 문자열 다루기 (0) | 2019.02.21 |
Part2 편리한 스칼라) 숫자 다루기 (0) | 2019.02.21 |
Part2 편리한 스칼라) Range와 List (0) | 2019.02.21 |