swift 문법 총정리(8) Class
Updated:
Class
구성요소를 만들 때, 일반적으로 쓰이는 형태. 참조를 한다. 값을 복사하지 않는다 라는 개념이 있다. 기능이나 형태를 묶어서 만든다고 생각하면 된다.
class Soccer {
var homeScore = 0
var awayScore = 0
func result() -> String {
return "\(homeScore)" + " : " + "\(awayScore)"
}
}
var soccer = Soccer()
soccer.result()
class Baseball {
var homeScore = 0
var awayScore = 0
func result() -> String {
return "\(homeScore)" + " : " + "\(awayScore)"
}
}
class Football{
var homeScore = 0
var awayScore = 0
func result() -> String {
return "\(homeScore)" + " : " + "\(awayScore)"
}
}
//이렇게 기본적인 구조가 계속 같은 class가 필요하다면,
class ScoreBoard{
var homeScore = 0
var awayScore = 0
func result() -> String {
return "\(homeScore)" + " : " + "\(awayScore)"
}
}
//상속
class Tennis: ScoreBoard{
}
var tennis = Tennis()
tennis.awayScore = 0
tennis.homeScore = 15
tennis.result()
//15
// override
// 재정의해서 새롭게 만들어서 사용한다.
class Soccer: ScoreBoard{
override func result() -> String{
return "\(homeScore)" + "-" + "\(awayScore)"
}
}
//참조 // 값 복사
var soccer = Soccer()
soccer.homeScore = 4
soccer.awayScore = 3
soccer.result()
var soccer2 = soccer
soccer2.homeScore = 10
//soccer 참조
soccer.homeScore
//10
//어디서 변경시키든 그 값이 공통되게 변경된다. => 참조 //클래스에서만 가능
//다른거는 참조가 아니라 값 복사이다.
Reference
인프런 강의
Leave a comment