A type = a blueprint
An instance = a house (you built from the blueprint)
블루프린트는 각 집의 features (특징)과 behaviors (행동)을 보여줌.
Features (특징) -> properties
Behaviors (행동) -> methods
e.g. 지하철 매표 자판기
Features (= properties)
Behaviors (= methods)
블루프린트는 각 집의 features (프로퍼티)와 behavior (메서드)를 보여줌.
In a type, features are called properties
And behaviors are called methods.
Properties
Var color = green
Var bedrooms = 2
a property = a variable defined inside a type
Methods
runWater()
turnLightsOn()
a method = a function defined inside a type
각 집의 Garage door를 연다고 치자
herHouse/ myHouse/ hisHouse
어느 집에서, 뭘 할지를 얘기해줘야 함
myHouse.openGarageDoor()
myHouse = the instance (a specific house)
openGarageDoor() = the method (from the myHouse instance)
구조체와 클래스는 데이터를 용도에 맞게 묶어 표현하고자 할 때 유용
공통점
차이점
값 타입이란? 또 하나의 복사본 (또 하나의 인스턴스)를 만들어내는 것
겉으로 보이는 결과물은 같아 보일지는 몰라도!
클래스는 참조 타입이라서 변수를 만들때 새로운 카피본이 생겨나는 것이 아니라
이미 존재하는 인스턴스에 대한 레퍼런스가 이용됨
값타입은 새로운 인스턴스의 공간을 만들어주는 것이라면
참조타입은 그 값이 어디있는지? 위치만 알려주는 것
새로운 공간을 따로 만들어내지 않고.
Structures (구조체) and Classes (클래스)가 비슷하다면 무엇을 사용할지 어떻게 결정할 것인가?