본문 바로가기
공부/프로그래밍언어 (scala)

#5 scala 기본 - Methods | Method와 Function의 차이점

by 심심한 뾰 2021. 9. 25.
반응형

function과 비슷하지만 차이점이 있다.

1. 정의가 다르다.
Function은
함수이름, parameter list(s), =>, body
순으로 정의한다

Method는 정의할 때 def를 사용하고,
def ,Method 이름, parameter list(s), return type, body
순으로 정의한다.

- Method의 정의

1
2
def name(x:Int, y:Int) : Int = x-y
println(name(4,2))
cs
출력결과

 

2. 여러개의 parameter lists를 가질 수 있다.

1
2
def name(x:Int, y:Int)(z:Int) : Int = x-y+z
println(name(4,2)(3))
cs
출력결과


하지만, function과 마찬가지로, parameter을 아예 가지지 않을 수도 있다.

1
2
def name() : Int = 23
println(name())
cs
출력결과

1
2
def name: String = System.getProperty("user.name")
println("Hello, " + name + "!")
cs

 

출력결과

 

3. 여러 줄로 여러 가지 표현을 할 수 있다.

1
2
3
4
5
6
def changeNumString(input: Double) : String = {
  val num = input
  input.toString
}
 
println(changeNumString(9.9))
cs
출력결과

여기서 마지막 줄이, method의 return 값이다.
따라서 여기서 return값을 나타내는 줄은
input.toString

스칼라에도 return표현이 있지만, 거의 쓰지 않는다.

반응형

'공부 > 프로그래밍언어 (scala)' 카테고리의 다른 글

#6 scala 기본 - 형(type)  (0) 2021.09.26
#4 scala 기본 - Functions  (0) 2021.09.25
#3 scala 기본 - Blocks  (0) 2021.09.25
#2 scala 기본 - Values, Variables  (0) 2021.09.25
#1 scala 기본 - println  (0) 2021.09.25