본문 바로가기
반응형

iOS (Swift)19

[오늘의 코드 조각] [iOS 2-4] 클래스와 구조체 : 객체지향 vs 값 타입, Swift가 구조체를 사랑하는 이유 안녕하세요, **'생각하는 개발자'**입니다.안드로이드에서 데이터를 묶을 때 우리는 주로 class나 data class를 사용합니다. iOS의 Swift에도 클래스가 존재하지만, 독특하게도 애플은 구조체(Struct) 사용을 강력하게 권장합니다.도대체 클래스와 구조체는 무엇이 다르길래 그럴까요? 오늘은 이 두 개념의 차이를 통해 Swift가 추구하는 **'안전한 데이터 관리'**의 핵심을 파악해 보겠습니다.2.4.1 클래스(Class) : 공유되는 참조 🏺비유: 구글 문서 (Shared Document) 클래스는 안드로이드 개발자에게 익숙한 **참조 타입(Reference Type)**입니다. 여러 곳에서 하나의 인스턴스를 가리키기 때문에, 한 곳에서 내용을 수정하면 다른 곳에도 영향을 미칩니다.cl.. 2026. 2. 11.
[오늘의 코드 조각] [iOS 2-3] 제어문과 함수 : 조건문, 반복문, 그리고 Swift다운 함수 작성법 안녕하세요, **'생각하는 개발자'**입니다.우리는 지난 시간에 변수와 옵셔널이라는 '재료'를 배웠습니다. 이제 그 재료들을 가지고 요리할 시간입니다. 프로그램이 상황에 따라 판단하고(조건문), 같은 일을 반복하며(반복문), 똑똑한 레시피(함수)를 만드는 법을 알아보겠습니다.플레이그라운드를 켜고, 오늘 소개할 코드들을 직접 타이핑하며 결과를 확인해 보세요!2.3.1 조건문: 상황에 따른 선택 🏺비유: 인생의 갈림길 Swift의 if문은 코틀린과 거의 같지만, 소괄호()를 생략할 수 있어 훨씬 깔끔합니다. 또한, 코틀린의 when처럼 강력한 switch문이 준비되어 있습니다.let score = 85// 1. if-else 문if score >= 90 { print("A학점입니다.")} else i.. 2026. 2. 11.
[오늘의 코드 조각] [iOS 2-2] Optional : Swift가 안전한 이유 (nil을 다루는 법) 안녕하세요, **'생각하는 개발자'**입니다.안드로이드 개발을 하다 보면 우리를 가장 괴롭히는 에러가 무엇인가요? 바로 NullPointerException(NPE)입니다. 값이 있을 줄 알고 사용했는데, 알고 보니 비어 있어서 앱이 터져버리는 상황이죠.Swift는 이런 비극을 막기 위해 **'Optional(옵셔널)'**이라는 개념을 도입했습니다. "이 변수에는 값이 있을 수도 있고, 없을 수도(nil) 있어!"라고 미리 선언해두는 것이죠. 마치 선물을 뜯어보기 전까지는 내용물이 있는지 없는지 모르는 '상자'와 같습니다.2.2.1 옵셔널 선언: 상자에 담기 🏺비유: 선물 상자 Swift에서는 일반적인 타입 뒤에 **물음표(?)**를 붙여서 옵셔널을 선언합니다.String: 절대 비어있을 수 없는 일반.. 2026. 2. 10.
[오늘의 코드 조각] [iOS 2-1] Swift 문법 정수 : 변수와 상수의 본질 (let vs var) 안녕하세요, **'생각하는 개발자'**입니다.우리는 지난 시간까지 iOS라는 새로운 세계의 규칙과 환경을 살펴보았습니다. 이제 본격적으로 앱의 영혼을 만드는 언어, **스위프트(Swift)**의 첫 페이지를 넘길 차례입니다.모든 프로그래밍의 시작은 데이터를 어디에 어떻게 담느냐에서 시작됩니다. 오늘은 안드로이드 개발자에게는 너무나 익숙하지만, Swift만의 깔끔함이 돋보이는 변수와 상수에 대해 알아보겠습니다.2.1 데이터를 담는 두 가지 그릇 : let과 var 🏺비유: 박제된 보물상자 vs 열려있는 보관함프로그래밍에서 데이터를 담는 그릇은 크게 두 종류로 나뉩니다. 한 번 넣으면 영원히 변하지 않는 것과, 필요할 때마다 갈아 끼울 수 있는 것이죠.let (상수): 한 번 값을 넣으면 '박제'됩니다. .. 2026. 2. 10.
[오늘의 코드 조각] [iOS 1-3] Hello Swift World! : 첫 프로젝트 생성과 시뮬레이터 구동 안녕하세요, **'생각하는 개발자'**입니다.지난 시간에는 안드로이드와 iOS의 철학적 차이를 살펴보며 마음가짐을 새롭게 했습니다. 이제 이론은 잠시 접어두고, 우리 맥북에서 실제로 돌아가는 '첫 번째 앱'을 만들어 볼 시간입니다. 안드로이드 스튜디오에서 'New Project'를 누를 때의 설렘을 기억하시나요? Xcode에서도 그 설렘을 이어가 보겠습니다.1.1 프로젝트 생성: 우리 앱의 첫 탄생 🏺비유: 빈 도화지 준비하기 Xcode를 실행하고 **'Create a new Xcode project'**를 클릭하는 것은, 안드로이드에서 Empty Activity를 선택하는 것과 같습니다.템플릿 선택: iOS 탭에서 App을 선택하고 Next를 누릅니다.프로젝트 설정: * Product Name: He.. 2026. 2. 9.
[오늘의 코드 조각] [iOS 1-2] 안드로이드 vs iOS : 개발자가 알아야 할 두 플랫폼의 철학 차이 안녕하세요, **'생각하는 개발자'**입니다.지난 시간에는 구형 맥북에 새 생명을 불어넣는 Xcode 12.4 설치와 최적화를 마쳤습니다. 이제 본격적으로 코드를 한 줄 써 내려가기 전, 우리가 반드시 이해해야 할 관문이 있습니다. 바로 **'iOS라는 세상의 규칙'**을 이해하는 것이죠.안드로이드 대륙에서 온 우리에게 iOS는 비슷해 보이지만 묘하게 다른 문화를 가진 이웃 나라와 같습니다. 오늘은 안드로이드 개발자의 시선으로 본 두 플랫폼의 결정적인 철학 차이를 정리해 보겠습니다. 1.1 설계 철학 : 자유도 vs 사용자 경험(UX)의 일관성 🏺비유: 레고 성 vs 정교하게 설계된 정원안드로이드는 마치 레고 성 같습니다. 제조사가 수십 곳이고 화면 크기도 제각각이죠. 구글은 개발자에게 넓은 자유를 주.. 2026. 2. 4.
반응형