-
Scala Class, Object(클래스, 오브젝트)Scala 2014. 6. 2. 09:00
클래스
따로 생성자가 없음. 메소드 바깥에 있는 코드들이 생성자 역할을 하게됨.
상속해서 메소드를 재정의할때는 override 를 명시해 줘야 함.
오브젝트(object)
싱글톤인 객체.
스칼라에는 따로 전역 멤버를 가지지 않고 오브젝트를 사용함.
클래스, 클래스상속, 오브젝트 예제.class Point(xc: Int, yc: Int) { var x: Int = xc var y: Int = yc def move(dx: Int, dy: Int) { x = x + dx y = y + dy } override def toString(): String = "(" + x + ", " + y + ")"; } class SubPoint(xc: Int, yc: Int, zc: Int) extends Point(xc, yc){ var z: Int = zc def move(dx: Int, dy: Int, dz: Int) { x = x + dx y = y + dy z = z + dz } override def toString(): String = "(" + x + ", " + y + ", " + z + ")" } object Test{ val pt = new Point(1, 2) //]] > pt : Point = (1, 2) println(pt) //]] > (1, 2) pt.move(10, 10) println(pt) //]] > (11, 12) val subpt = new SubPoint(1, 2, 3) //]] > subpt : SubPoint = (1, 2, 3) println(subpt) //]] > (1, 2, 3) subpt.move(10, 10, 10) println(subpt) //]] > (11, 12, 13) }
'Scala' 카테고리의 다른 글
Scala Currying(커링) (0) 2014.06.11 Scala Traits(트레잇) (0) 2014.06.06 Scala 함수 (0) 2014.05.30 Scala 루프구문 (0) 2014.05.28 Scala 조건문 (0) 2014.05.26