๊ด€๋ฆฌ ๋ฉ”๋‰ด

data_lab

์Šค์นผ๋ผ ๋ถ 02 ๋ณธ๋ฌธ

๋ฏธ์‚ฌ์šฉ/3. ์Šค์นผ๋ผ

์Šค์นผ๋ผ ๋ถ 02

๐Ÿฐํžˆํžˆ 2023. 1. 11. 15:49

์Šค์นผ๋ผ ํด๋ž˜์Šค์— ๊ด€ํ•ด ์ •๋ฆฌํ•จ
https://docs.scala-lang.org/overviews/scala-book/classes.html

๊ธฐ๋ณธ ํด๋ž˜์Šค ์ƒ์„ฑ์ž

class Person(var firstName: String, var lastName: String)
val p = new Person("Bill", "Panner")
println(p.firstName + " " + p.lastName) //Bill Panner
p.firstName = "William" 
p.lastName = "Bernheim"

val๋Š” ํ•„๋“œ๋ฅผ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๋งŒ๋“ฆ

val(value) : ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Œ
var(variable) : ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Œ

์Šค์นผ๋ผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ var ํ•„๋“œ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•„๋“œ ๋งŒ๋“ค๊ธฐ
ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์ผ๋ฐ˜์ ์œผ๋กœ ํด๋ž˜์Šค๋Œ€์‹  ์ผ€์ด์Šค ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•จ

ํด๋ž˜์Šค ์ƒ์„ฑ์ž

์ƒ์„ฑ์ž ๋งค๊ฐœ๋ณ€์ˆ˜
ํด๋ž˜์Šค ๋ณธ์ฒด์—์„œ ํ˜ธ์ถœ๋˜๋Š” ๋ฉ”์„œ๋“œ
ํด๋ž˜์Šค ๋ณธ๋ฌธ์—์„œ ์‹คํ–‰๋˜๋Š” ๋ช…๋ น๋ฌธ ๋ฐ ํ‘œํ˜„์‹

๋‹ค๋ฅธ ์Šค์นผ๋ผ ํด๋ž˜์Šค ์˜ˆ์ œ

class Pizza (var crustSize: Int, var crustType: String)

// a stock, like AAPL or GOOG
class Stock(var symbol: String, var price: BigDecimal)

// a network socket
class Socket(val timeout: Int, val linger: Int) {
    override def toString = s"timeout: $timeout, linger: $linger"
}

class Address (
    var street1: String,
    var street2: String,
    var city: String, 
    var state: String
)
 
728x90
๋ฐ˜์‘ํ˜•

'๋ฏธ์‚ฌ์šฉ > 3. ์Šค์นผ๋ผ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

์Šค์นผ๋ผ ๋ถ 01  (0) 2023.01.11