YoonC

Swift - Important Swift Concepts ๋ณธ๋ฌธ

Develop/Swift

Swift - Important Swift Concepts

์œคํƒœํ’ 2021. 9. 29. 16:18

๐Ÿ˜‡Object Oriented Programming

Swift Functions

// ํ•จ์ˆ˜ ์„ ์–ธ์‹œ
func ํ•จ์ˆ˜์ด๋ฆ„(Args) {
	code to run when function called
}
// ํ•จ์ˆ˜ ํ˜ธ์ถœ์‹œ
ํ•จ์ˆ˜์ด๋ฆ„()

// ์‚ฌ์šฉ =====================================
func dayOfWeek(day: String){
    print("Today is \(day).")
}
dayOfWeek(day: "Monday");

 

Swift Take Data From a Function

 ๐Ÿ‘‰๐Ÿป ์‹คํ–‰ํ•œ ํ•จ์ˆ˜์˜ ๊ฐ’์„ ์“ฐ๊ณ ์‹ถ๋‹ค๋ฉด return ์‚ฌ์šฉํ•˜๊ณ  -> ๋ฆฌํ„ดํƒ€์ž…  ์œผ๋กœ ๋ฆฌํ„ด์˜ ํƒ€์ž… ์ ์–ด์ฃผ๊ธฐ

// ๋ฆฌํ„ด์˜ ์‚ฌ์šฉ๋ฒ•
func ํ•จ์ˆ˜์ด๋ฆ„(Args: Types) -> Int {
	return value
}

 

 

Swift Classes and Methods

 ๐Ÿ‘‰๐Ÿป Class ์™€ Object ๊ฐ„๋‹จํžˆ ๋งํ•˜์ž๋ฉด Class๋Š” ๋ถ•์–ด๋นตํ‹€์ด๊ณ  Object๋Š” ์ด ํ‹€์„ ์ด์šฉํ•ด ๋งŒ๋“  ํŒฅ๋ถ•, ์Šˆ๋ถ• ๊ฐ™์€๊ฒƒ๋“ค.

class Car{
    var brand = ""
    var modelYear = 0
    var color = ""
    
    // โœ๏ธ method
    func drive(){
    	print("๋ถ€๋ฆ‰๋ถ€๋ฆ‰โ˜๏ธ")
    }
    print("๐Ÿ˜‡๐Ÿ˜‡") 		// => โŒ ํด๋ž˜์Šค ์•ˆ์—์„œ๋Š” variable ๋˜๋Š” method๋งŒ ๊ฐ€๋Šฅ
}
var myCar = Car();

myCar.modelYear = 2021
myCar.modelYear         	// 2021์ž„
myCar.color = "green"
myCar.brand = "audi"
myCar.drive(). 		    	// ๋ถ€๋ฆ‰๋ถ€๋ฆ‰โ˜๏ธ ์ถœ๋ ฅ

  ๐Ÿ‘‰๐Ÿป Method๋Š” class ์•ˆ์˜ function์ด๋‹ค. ์œ„์˜ ์ž‘์„ฑํ•œ ์ฝ”๋“œ ์ฐธ์กฐ

  โญ•๏ธ ํด๋ž˜์Šค ์•ˆ์—์„œ๋Š” variable ๋˜๋Š” method๋งŒ ๊ฐ€๋Šฅ

 

Swift Build Class hierarchy

 ๐Ÿ‘‰๐Ÿป Inheritance : ํด๋ž˜์Šค๊ฐ€ ์†์„ฑ์„ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๋นŒ๋ ค์˜ค๋Š” ๊ฐœ๋… - can build specific version of objects

class Vehicle{
	var brand = ""
    
    func drive(){
    	print("vroom vroom")
    }
}

// Truck ์€ Vehicle์„ ์ƒ์†๋ฐ›์œผ๋ฏ€๋กœ brand๋„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ drive ํ•จ์ˆ˜ ์‚ฌ์šฉ๊ฐ€๋Šฅ
class Truck : Vehicle{
	var color = ""
    
    // ํ•จ์ˆ˜ ์žฌ์ •์˜
    override func drive(){
    	print("๋ถ€๋ฆ‰ ๋ถ€๋ฆ‰")
        super.drive()  // super๋Š” ๋ถ€๋ชจ๋กœ ๊ฐ€๊ธฐ๋•Œ๋ฌธ์— ๋‹ค์‹œ vroom vroom ์ด๋ผ๊ณ  ์ถœ๋ ฅ๋จ
    }
}

 

'Develop > Swift' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Swift - Routing on IOS  (0) 2021.09.29
Swift - Listing Data on IOS  (0) 2021.09.23
Swift - Reach Data from UI  (0) 2021.09.23
Swift - Create UI  (0) 2021.09.23
Comments