Swift의 클래스 및 객체 (iOS 앱 개발)

개발자의 일상, @munondio 팔로우 해보세요!

지난 글에서도 Swift의 클래스와 객체에 대해 열심히 이야기하긴 했지만, 이번 글에서도 클래스와 객체에 대한 이야기를 이어가려고 합니다.

스위프트 클래스 구조

클래스는 키워드 'class'를 통해 생성됩니다.

class ClassName
{
}

클래스의 프로퍼티란 객체가 갖고 있는 속성입니다. 즉, 다음과 같은 변수들이 될 수 있겠죠.

class ClassName
{
	var name: String = "스위프트 프로그래밍"
	var grade: Int = 100
}

객체 만들기

swift-class-objects

객체를 만든다는 것은 곧, 클래스의 인스턴스를 생성하는 것인데요. 다음과 같이 만들 수 있습니다.

var exampleInstance: ClassName = ClassName()

그런데 여기서 ClassName()은 사실상 ClassName.init()과 같은데요. 밑에서 소개할 초기화에 대한 내용이 이를 설명해줍니다.

초기화

클래스는 기본적으로 다음과 같이 초기화가 이뤄집니다.

init()
{
}

그래서 엄밀히 따지면, ClassName.init()이라고 초기화해줘야 하는데. ClassName()과 같이 생략해서 초기화 할 수도 있는 것입니다. 그런데 이 초기화를 다음과 같이 사용자화 할 수도 있습니다.

class ClassName
{
	var name: String = "스위프트 프로그래밍"
	var grade: Int = 100
    
	init(name: String, grade: Int)
	{
		self.name = name
		self.grade = grade
	}
}