본문 바로가기
반응형

생각하는개발자18

[오늘의 코드 조각] [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 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.
[오늘의 코드 조각] [iOS 1-1] 오래된 맥북의 재발견: Xcode 12.4 설치와 성능 최적화 안녕하세요, **'생각하는 개발자'**입니다.안드로이드라는 거대한 대륙을 여행하다가 이제 막 'iOS'라는 새로운 섬에 발을 내디뎠습니다. 하지만 시작 전부터 "맥북이 너무 비싸다" 혹은 "내 맥북은 너무 오래됐다"는 고민이 발목을 잡곤 하죠.결론부터 말씀드리면, 장비 탓에 포기하실 필요 없습니다. 제가 가진 구형 맥북에서도 iOS 앱 개발은 충분히 가능하거든요! 오늘은 그 첫 단추로, 우리 장비에 딱 맞는 Xcode 12.4 설치법과 저사양 최적화 꿀팁을 교재 형식으로 차근차근 알아보겠습니다. ### 1.1 왜 Xcode 12.4를 선택해야 하는가? 🏺비유: 구관이 명관이다 최신 맥북이 아니면 최신 Xcode를 깔 수 없다고 포기하지 마세요. Xcode 12.4는 구형 맥북(macOS Catalina.. 2026. 2. 4.
반응형