1. operator overloading
연산자를 재 정의해서 새로운 동작을 만드는 것
2. 샘플 코드
class Point : CustomStringConvertible
{
var x : Int = 0
var y : Int = 0
var description: String { get{ // CustomStringConvertible에 정의 되어 있음
return "\(x), \(y)"
}
}
init(_ a:Int = 0, _ b:Int = 0){x=a;y=b}
}
// 연산자 재정의 함수는 멤버가 아닌 일반 함수로만 가능
// 연산자 이름이 함수 이름
func +( p1:Point, p2:Point)->Point
{
return Point(p1.x+p2.x,p1.y+p2.y)
}
var p1 = Point(1,2)
var p2 = Point(2,3)
var p3 = p1 + p2
print (p3)
'교육 > Swift' 카테고리의 다른 글
[swift] exception (0) | 2016.08.22 |
---|---|
[swift] generic (0) | 2016.08.08 |
[swift] protocol (0) | 2016.08.08 |
[swift] casting (0) | 2016.08.08 |
[swift] extension (0) | 2016.08.08 |