HIT해
[Swift 기초문법 - 18] Struct mutating 본문
728x90
Swift에서 Struct와 Class의 차이를 이전 포스팅에서 알아보았다.
Class의 경우 메모리 주소값을 가리키기 때문애 복사한 개체 혹은 클래스 내부 함수를 통해 변수값의 변경이 쉽게 가능하지만
Struct는 그렇지 않다.
그래서 Struct내부에 정의된 함수가 멤버변수를 바꾸려고 하면 오류가 발생한다
아래의 코드를 한번 보자!
import UIKit
struct myFriend {
var name : String
var age : Int
func changeAge(newAge : Int){
self.age = newAge
}
}
var JH = myFriend(name: "지혁", age: 25)
JH.changeAge(newAge: 26)
실행결과
에러가 발생하는 것을 볼 수 있다.
이때 함수앞에 mutating을 붙이면 멤버변수를 바꿀 수 있다.
import UIKit
struct myFriend {
var name : String
var age : Int
mutating func changeAge(newAge : Int){
self.age = newAge
}
}
var JH = myFriend(name: "지혁", age: 25)
JH.changeAge(newAge: 26)
'Swift > Swift 기초문법' 카테고리의 다른 글
[Swift 기초문법 - 20] Struct Method (0) | 2024.07.16 |
---|---|
[Swift 기초문법 - 19] Set (0) | 2024.07.16 |
[Swift 기초문법 - 17] Error (0) | 2024.07.12 |
[Swift 기초문법 - 16] 메소드 매개변수 inout (0) | 2024.07.12 |
[Swift 기초문법 - 15] final (0) | 2024.07.12 |