일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- HTML
- pwnable.kr
- 암호수학
- windosw 문자열
- SWiFT
- 자료구조
- Stack
- LoB
- windosws wbcs
- War Game
- 스택
- 파일 시스템
- ftz
- 큐
- level13
- 두근두근 자료구조
- 시간복잡도
- 파이썬
- ftz level13
- Java
- 재귀
- web
- OSI
- c언어
- 백준
- System
- PHP
- 정렬 알고리즘
- 미로 탐색 알고리즘
- C
Archives
- Today
- Total
나의 기록, 현진록
[마스터] Struct와 Class / 프로토콜 본문
반응형
struct User{
var name: String
var age: Int
}
var a = User(name: "유현진", age: 5)
var b = User(name: "유현진 아님", age: 6)
var c = b
a.name = "유"
print(a)
print(b)
print(c)
b.name = "현"
print(a)
print(b)
print(c)
// User(name: "유", age: 5)
// User(name: "유현진 아님", age: 6)
// User(name: "유현진 아님", age: 6)
// User(name: "유", age: 5)
// User(name: "현", age: 6)
// User(name: "유현진 아님", age: 6)
class User{
var name: String
var age: Int
init(name: String, age: Int) {
self.name = name
self.age = age
}
func showInfo(){
print(name, age)
}
}
var a = User(name: "유현진", age: 2)
var b = a
a.showInfo()
b.showInfo()
a.name = "비둘기"
a.showInfo()
b.showInfo()
// 유현진 2
// 유현진 2
// 비둘기 2
// 비둘기 2
protocol Greetable{
func greet()
}
struct Person: Greetable{
let name: String
func greet() {
print("\(name)입니다. 반갑습니다.")
}
}
class Robot: Greetable{
let id: Int
init(id: Int) {
self.id = id
}
func greet() {
print("\(id)입니다. 반갑습니다.")
}
}
var a = Person(name: "유현진")
var b = Robot(id: 1)
a.greet()
b.greet()
extension Greetable{
func greet(){
print("Hello!")
}
}
struct Alien: Greetable{
}
var c = Alien()
c.greet()
// 유현진입니다. 반갑습니다.
// 1입니다. 반갑습니다.
// Hello!
반응형