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

인프런 강의

Tags: ,

Categories:

Updated:

Leave a comment