Apple 20

[iOS/Swift] Error Handling이란?

Error Handling이란 한국어로 에러 처리라고 번역할 수 있습니다. 즉, 말 그대로 해석하면프로그램 실행 중 발생할 수 있는 오류를 감지하고, 이를 적절히 처리하여 프로그램이 예기치 않게 종료되지 않도록 하는 중요한 기법입니다. 파일을 읽어올 수 없거나 네트워크 요청 실패, 사용자 입력 오류와 같은 여러 가지 사용자에게 발생할 수 있습니다. 이러한 상황을 감지하고, 이를 적절하게 처리하는 방법을 알아보겠습니다. 에러가 발생하는 상황에는 정말 여러 가지가 존재하지만 위에서 언급한 세 가지만 알아보겠습니다. 파일 읽기 실패파일을 읽는 과정에서 발생할 수  있는 오류는 파일이 존재하지 않거나 읽기 권한 부족, 파일 손상 또는 접근 불가와 같은 상화에서 주로 발생합니다.  Apple 공식 문서에 따르면,..

Apple/Swift 2024.11.10

[Apple/visionOS] Swift and SwiftUI

비전OS 앱 개발의 핵심을 이루는 두 가지 중요한 개념은 바로 Swift와 SwiftUI입니다. Swift는 빠르고 안정적이며 현대적인 프로그래밍 언어로, 복잡한 문제를 단순하고 편리하게 해결합니다. SwiftUI는 그 위에 얹어진 강력한 UI 프레임워크로, 한 번의 코드로 다양한 애플 플랫폼에서 일관된 사용자 경험을 구현할 수 있도록 돕습니다.  SwiftSwift의 주요 특징으로는 안정성(Safety), 성능(Performance), 현대적인 프로그래밍 패러다임(Modern Programming Paradigms) 세 가지가 핵심으로 강조됩니다.  1. 안정성(Safety)A. 타입 안전성먼저 Swift의 가장 큰 장점은 안전하게 코딩을 할 수 있다는 것입니다. 다른 언어들을 사용하다 보면 종종 겪게..

Apple/visionOS 2024.10.30

[Apple/visionOS] Apple Vision Pro 공간 컴퓨팅 개념 정리

Apple의 Vision Pro는 기본적으로 AR(증강현실) 기기로 설계되었습니다. 하지만 더 정확히 설명하자면, Vision Pro는 사용자가 주변 환경과 상호작용할 수 있다는 점에서 MR(혼합현실) 기기에 더 가깝다고 볼 수 있습니다. 이는 디지털 객체가 현실 세계에 자연스럽게 겹쳐져 보이거나 현실과 상호작용할 수 있도록 해주는 기능을 포함하고 있기 때문입니다. 애플은 Vision Pro를 설명할 때 AR이나 MR 같은 전통적인 용어보다는 공간 컴퓨팅이라는 개념을 강조하고 있습니다. 공간 컴퓨팅은 디지털 콘텐츠가 현실 공간과 상호작용하는 방식을 포괄적으로 표현하는 개념으로, 애플이 이 기기를 통해 제공하고자 하는 경험을 잘 설명해 줍니다. 따라서, Vision Pro 앱을 개발하기 위해서는 공간 컴퓨..

Apple/visionOS 2024.10.15

[Apple/visionOS] See-Through와 Pass-Through

"See-Through와 Pass-Through로 알아보는 VR과 MR의 차이점을 설명하기에 앞서, VR과 MR의 기본적인 특성부터 이해해 보도록 하겠습니다." VR, AR, MR에 대한 자세한 설명은 여기를 참고해 주세요. VR HMD는 오직 가상세계를 보여주기 위한 디스플레이만 존재하며, 더욱 몰입감 있는 가상세계 경험을 위해 현실 세계를 완벽하게 차단해야 합니다. 때문에 사용자가 VR HMD를 착용하면 눈에는 가상세계만 보일 뿐 현실 세계는 전혀 보이지 않습니다. 반면 AR/MR은 사용자의 주변 환경 위에 가상의 디지털 콘텐츠를 표시하는데, 이것이 VR과의 가장 큰 차이점입니다. AR/MR HMD는 주변 환경과 디지털 객체를 함께 보여줘야 하는데, 이때 현실 세계를 사용자에게 어떻게 보여주느냐에 따..

Apple/visionOS 2024.10.08

[Apple/visionOS] “VR, AR, MR 그리고 XR 그 차이는?”

오늘 포스팅은 visionOS를 공부하다가 궁금증을 느꼈던 VR, AR 그리고 MR 세 가지의 차이점을 알아보는 포스팅을 작성해 보겠습니다.  VR, AR, MR 세 가지의 완전한 이름은 무엇일까요. VR (Virtual Reality): 가상 현실AR (Augmented Reality): 증강 현실MR (Mixed Reality): 혼합 현실 가상 현실, 증강 현실, 혼합 현실 이 세 가지가 정확히 어떤 뜻이고 어떤 세계를 보여주는지 자세하게 알아보겠습니다.   VR (Virtual Reality): 가상 현실먼저 VR은 Virtual Reality로 가상현실을 나타내는 즉 가상 세계를 나타내는 기술입니다. 컴퓨터로 만들어진 가상의 세계에 사용자가 들어가서 마치 현실처럼 체험하는 기술입니다. 이 기술은..

Apple/visionOS 2024.10.04

[iOS/iOS] iOS 내부에는 뭐가 들어있을까? (What's in iOS?)

이번 포스팅은 iOS 내부에 대해 알아보는 포스팅을 작성해 보겠습니다.본 포스팅의 메인은 "내부"에 대해 간단하게 알아보는 포스팅이기에 각 개념에 대해 깊은 설명이 없다는 점 참고해 주시기 바랍니다 :) iOS 내부로 들어가기 이전에 먼저 iOS가 무엇인지 알아보자면."애플이 개발한 모바일 운영체제"입니다. 즉, 스마트폰 전용 운영체제죠 iOS에는 정말 많은 API로 구성되어 있는데요.여기서 API란?"Application Programming Interface"의 약자로, 소프트웨어 애플리케이션 간의 상호작용을 가능하게 하는 규칙과 도구의 집합입니다.즉 API는 서로 다른 소프트웨어의 시스템이 데이터를 주고받거나 기능을 호출할 수 있도록 해주는 인터페이스입니다.그리고 모두 프로그래밍 언어로 구성되어 있..

Apple/iOS 2024.09.10

[iOS/Swift] 오버로딩(Overloading) 그리고 오버라이딩(Overriding)

오버로딩(Overloading) 그리고 오버라이딩(Overriding) 두 개의 차이점을 알아보겠습니다. 오버로딩과 오버라이딩은 프로그래밍에서 자주 사용되는 개념으로, 비슷해 보이지만 실제로는 다릅니다. 오버로딩(Overloading)먼저 오버로딩은 같은 이름을 가진 함수나 메서드를 여러 개 정의할 수 있도록 해주는 기능입니다. 이때 각 메서드는 매개변수의 타입이나 개수, 또는 순서가 다르면 됩니다. 만약동일한 이름으로 중복 선언func foo() {}func foo() {} // 에러: Invalid redeclaration of 'foo' 당연히 에러를 나타냅니다.Invalid redeclaration of 'foo()'에러 메시지를 살펴보면 "함수 foo()의 잘못된 재선언" 이라는 의미입니다. 즉..

Apple/Swift 2024.09.03

[iOS/Swift] 오버라이딩(Overriding) 이란? (2/2)

지난번 포스팅에 이어서 오버라이딩(Overriding)을 설명해 보겠습니다. 지난 포스팅은 여기를 참고해주시면 됩니다.  속성 오버라이딩(Property Overriding) 계산 속성(Computed Property) 먼저 계산 속성 오버라이딩에는 제약 조건이 존재합니다.읽기 전용 속성을 읽기/쓰기 속성으로 오버라이딩하는 것은 가능합니다. 부모 클래스에 읽기 전용 속성이 있는 경우, 자식 클래스에서 이 속성을 읽기/쓰기 속성으로 오버라이딩할 수 있습니다.읽기/쓰기 속성을 읽기 전용 속성으로 오버라이딩 하는 것은 불가능합니다. 부모 클래스에서 읽기/쓰기 속성이 있는 경우, 자식 클래스에서 이 속성을 읽기 전용으로 오버라이딩할 수 없습니다. Swift에서 이는 문법적으로 허용되지 않으며, 컴파일 오류가 발..

Apple/Swift 2024.08.28

[iOS/Swift] 오버라이딩(Overriding) 이란? (1/2)

앞 포스팅에서 설명한 상속과 오버라이딩의 공통점은 부모 클래스의 기능을 자식 클래스가 물려받는다는 것입니다.  상속은 자식 클래스가 부모 클래스의 속성과 메서드를 그대로 물려받아 사용할 수 있게 하는 것입니다. 즉, 부모 클래스에서 정의된 기능을 자식 클래스가 상속받아 재사용하는 과정입니다. 오버라이딩은 자식 클래스가 상속받은 부모 클래스의 메서드를 재정의하여, 부모 클래스의 기본 동작을 자식 클래스에 맞게 변경하는 것입니다. 이를 통해 자식 클래스에서 부모 클래스의 메서드가 다르게 동작하도록 할 수 있습니다.  요약하자면, 상속은 기능을 재사용하는 것이고, 오버라이딩은 기능을 재정의하는 것입니다. 오버라이딩 = 재정의 라고 생각하시면 됩니다.   메서드 오버라이딩(Method Overriding)다음 ..

Apple/Swift 2024.08.26

[iOS/Swift] 상속(Inheritance) 이란?

상속(Inheritance)은 객체 지향 프로그래밍에서 중요한 개념으로, 기존 클래스의 속성과 기능을 새로운 클래스가 물려받아 사용하는 것입니다.   먼저 상속을 이해하려면 클래스와 객체의 개념부터 알아야 합니다. 클래스(Class): 어떤 사물이나 개념을 코드로 표현한 '설계도'라고 보시면 됩니다. 예를 들어, 동물(Animal)이라는 클래스를 만들면, 이 클래스는 모든 동물이 가질 공통된 속성(이름, 나이)과 기능(먹기, 잠자기)을 정의합니다.객체(Object): 클래스라는 설계도를 바탕으로 실제로 만들어진 사물입니다. 예를 들어 Dog라는 객체는 Animal 클래스로부터 만들어진 하나의 실체입니다. 즉, 클래스가 설계도라면 객체는 그 설계도로 만들어진 실제 물건입니다.  이제 상속의 개념으로 들어가..

Apple/Swift 2024.08.25