[Swift] 왜 Class는 Initializer를 자동으로 만들어주지 않을까?
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 Swift로 개발을 하다보면 한 가지 의문이 생기게 됩니다. 구조체인 Struct는 프로퍼티만 선언하면 init이 자동으로 생기는데, Class는 왜 직접 써줘야 할까?struct Point { var x: Int var y: Int // init(x: Int, y: Int) 자동 생성 }class PointClass { var x: Int var y: Int // 자동 생성 안 됨 -> 직접 써야 함} Struct는 왜 자동 생성이 가능할까?Struct는 상속이 없습니다.(상속이 안 되는 건 아닌데 일단 그냥 구조체와 클래스 두가지로만 보면)컴파일러의 입장에서 보면, 지금 선언된 프로퍼티가 이 타입의 전부입니다. 그래서 모든 프로퍼티를 ..
[Swift] 리터럴, 식별자, 키워드
·
Apple/Swift
리터럴 리터럴은 프로그램의 소스 코드에 직접 기록되는 고정 값입니다. 리터럴은 특정 데이터 유형과 해당 값을 나타냅니다. Apple에서 개발한 프로그래밍 언어인 Swift는 다양한 데이터 유형을 나타내는 여러 유형의 리터럴을 제공합니다. Swift에서 사용되는 몇 가지 일반적인 리터럴에 대해서 살펴보겠습니다. 정수 리터럴 정수 리터럴은 분수 구성요소가 없는 정수를 나타냅니다. 구분 기호 없이 일련의 숫자로 작성할 수 있습니다. 아래 소스는 정수 리터럴의 예시입니다. 부동 소수점 리터럴 부동 소수점 리터럴은 소수 구성 요소가 있는 십진수를 나타냅니다. 십진수 표기법 또는 과학적 표기법을 사용하여 작성할 수 있습니다. 아래 소스는 부동 소수점 리터럴의 예시입니다. 문자열 리터럴 문자열 리터럴은 큰따옴표로 묶..