본문 바로가기

분류 전체보기71

[CS/Basic] 그래서, 객체(Object)가 무엇인가요? 프로그래밍의 패러다임 중, [목적/방식]에 따라 명령형 / 선언형 2가지 형태를 앞선 포스팅에서 살펴보았습니다. 좀 더 파고들어, 명령형에서 파생되는 절차적, 객체지향 프로그래밍을 이해하기에 앞서 코딩을 하면서 자주 사용되는 언어인 '객체(Object)'란 개념에 대해 슬쩍 알아보는 시간을 가져볼까 합니다. 그래서, 객체란 대체 무엇인가요? 객체(Object)란 ? 객체의 사전적 의미는, 특정 실체를 '객관화' 하여 인식하거나 이해하는 대상 사실, '객체'란 단어는 일상생활에서 흔히 사용되는 말은 아닙니다. 따라서, 철학적 측면으로 접근하여 이해해야 하는 개념이기도 합니다. 결론부터 얘기하자면, 다음과 같습니다. 세상에 실제로 존재하는 것을 '실체'라고 칭한다면, 내(주체)가 다른 실체를 바라볼때, 그 .. 2022. 12. 29.
[CS/Basic] 좀 더 나은 프로그램을 위해, 프로그래밍 패러다임 프로그래밍 언어, 3번째 포스팅입니다. 슬슬 그 끝이 보이기 시작합니다..? 👀 종류 및 특징 중, 이제 패러다임과 관련된 이야기를 나눠볼까 합니다. 패러다임 방법 혹은 목적 (저 수준/고 수준) 빌드(Build)유무 (컴파일 / 인터프리터) 자료형 지정 유무 프로그래밍 패러다임과 관련된 내용은 다소 철학적이고, 단번에 이해하기 어려운 개념이므로 본 포스팅에서는 예시를 활용하여 보다 쉽게 다뤄보도록 하겠습니다. 프로그래밍 패러다임(programming paradigm)이란? 특정 관점과 접근 방식에 따른 개발자의 코딩방식 패러다임(Paradigm)의 사전적 정의는 다음과 같습니다. 한 시대의 사람들의 견해나 사고를 근본적으로 규정하고 있는 인식의 체계. 또는 사물에 대한 이론적인 틀이나 체계. 즉, 일종.. 2022. 12. 26.
[iOS/SwiftUI] Xcode로 SwiftUI 프로젝트 만들기 SwiftUI 프레임워크를 활용한 앱 개발 시작을 위해, 'Project는 어떻게 실행하고', '화면을 어떤 방식으로 구상하는지' 와 같은 지극히 기초적인 사항부터 살펴보도록 하겠습니다. (X-Code와 관련된 내용은 개별 포스팅에서 다룰 예정입니다) 새로운 Project 생성하기 SwiftUI를 다루기에 앞서 우선 새로운 Project를 생성하도록 하겠습니다. Project 생성 XCode에서 File을 선택 후, 상단 메뉴에서 File ➟ New ➟ Project를 선택합니다. 또는, 처음 XCode를 실행할 때 생성되는 창에서 Create a new Xcode project를 선택합니다. Project Options 선택 다양한 종류의 개발 template 카테고리 중, iOS로 분류한 후 App을.. 2022. 12. 24.
[iOS/SwiftUI] 기존 UIKit과는 어떤 차별점이 있나요? Swift 문법을 학습하고, 활용하는 궁극적인 목표 중 하나로 Application, 즉 나만의 앱을 만드는 과정을 꿈꾸고 있을 것입니다. iOS 앱 개발을 위한 UI 프레임워크는 크게 UIKit과 SwiftUI로 구분되고, 개발자들에 의해 활용되고 있습니다. (프레임워크 관련 포스팅은 추후 iOS 공통 포스팅에서 다루도록 하겠습니다) 그 중, SwiftUI는 모든 Apple 플랫폼(iOS, iPadOS, macOS, watchOS, tvOS 등)을 '단 한번의 개발과정' 을 통해 만들 수 있는 개발 도구로서 발 빠르게 성장하고 있습니다. 이번 포스팅에서는, SwiftUI의 전반적인 소개와 UIKit과의 관계에 대해 다뤄보도록 하겠습니다. SwiftUI란 어떤 도구인가요? 단 한번의 개발, 모든 Appl.. 2022. 12. 11.
[CS/Basic] 컴파일 에러와 런타임 에러는 언제 발생하나? 프로그래밍 언어의 유형에 대해 지속적으로 살펴보고 있습니다. 지난 포스팅에서 프로그래밍 언어의 종류 및 특징을 아래와 같이 정리했습니다. 패러다임 방법 혹은 목적 (저 수준/고 수준) 빌드(Build)유무 (컴파일 / 인터프리터) 자료형 지정 유무 이번 시간에는 언어의 종류를 구분하는 특징 중 자료형 지정 유무란 분류에 따른 언어의 특징을 살펴보겠습니다. 다만, 단순히 두루뭉실한 개념이 아닌, 실제 코드를 작성해보고 이에 발생되는 Error를 통해 알아보고자 합니다. Type Checking 정적/동적 언어의 분류 기준은 상수, 변수, 함수 등에 대한 타입을 확인하는 시점 앞서 포스팅에서 다룬 컴파일(Compiled), 인터프리터(Interpreter)언어에 대해 간단하게 짚고 넘어가보자면.. 컴파일 언.. 2022. 12. 6.
[CS/Basic] 컴파일? 인터프린터? 빌드(Build) 유무에 따른 비교 지난 포스팅에서는 프로그래밍 언어에 대한 간단한 개념과 개발자 혹은 컴퓨터의 편의성에 따른 저수준/고수준 언어에 대해 살펴보았습니다. 이번 포스팅에서는 조금 더 나아가, 프로그래밍 언어의 종류 중, 빌드(Build)의 유무에 따라 분류되는 컴파일 언어 / 인터프리터 언어에 대해 알아보겠습니다. 코드가 앱이 되는 과정 소스코드(Code)는 일련의 과정을 통해 병합되고 패키징되어 실행할 수 있는 앱으로 탄생한다 기초코드, 그러니까 소스코드(Source Code) 를 프로그래밍 언어로 작성하면 번역을 통해 기계어로 변환되는 과정을 거쳐서 컴퓨터가 명령을 수행하게 됩니다. 좀 더 구체적으로 살펴보자면, 소스코드가 모여 개발자의 의도가 담긴 목적코드(Object Code) 로서 변환되고 이러한 목적코드를 한데 묶.. 2022. 12. 5.