본문 바로가기

분류 전체보기71

[iOS/Swift] Swift에서의 구조체(Struct), 값 타입과 참조 타입의 비교 이번 포스팅에서는 앞서 다뤄온 '클래스'와 비슷해 보이지만, 큰 차이점이 존재하는 구조체(Struct)에 대한 내용을 살펴볼까 합니다. 어떻게 선언하고, 사용하는지와 더불어 클래스와의 차이점에 대해 알아보도록 하겠습니다. Swift의 구조체 클래스와 유사하나, 값(Value) 타입의 캡슐화를 제공하는 틀 클래스와 동일하게, 구조체 또한 [객체지향 프로그래밍]의 기초를 형성합니다. 선언된 데이터와 기능(프로퍼티, 메서드)을 재 사용할 수 있는 객체이며, 추상화(인스턴스로의 실체화를 위해 공통된 속성과 행위를 정의)를 목표로 관련된 데이터를 캡슐화(결합, 집합화)하는 방법을 제공합니다. 선언 및 활용방법 클래스와는 달리, class 키워드 대신 struct 키워드를 사용하여 선언합니다. 클래스와 동일하게 프.. 2023. 2. 22.
[iOS/Swift] 상속(Inheritance)을 통한 재 정의, 오버라이딩(Overriding) 지난 클래스의 상속(Inheritance)에 대한 포스팅에 이어, 상위 클래스(SuperClass) 내 포함된 기능을 '커스텀'하여 사용할 수 있는 방식인 오버라이드(Override)방식에 대해 살펴보도록 하겠습니다. 상속받은 하위 클래스에서 새로운 메서드를 만드는 방법 완전히 새로운 메서드를 만들거나, 오버라이딩(Overriding)을 활용하거나 상위 클래스에서 상속을 받은 하위클래스는 정확한 기능과 원하는 작업을 위해 자신만의 메서드를 만들 수 있습니다. 방식은 크게 2가지로 구분됩니다. (지난 포스팅에서 다룬 Aniamls 상위 클래스를 예시로 재 활용하도록 하겠습니다) class Animals { var name: String? var age: Int? func sound(name: String).. 2023. 2. 19.
[CS/Data Structure] 자료구조란 무엇인가요? 자료구조, 알고리즘.. 용어는 참 익숙한데, 어디서부터 어떻게 시작을 해야할지😭 그래도, 어느하나 허투루 넘어가지 않는 성격인지라 부족한 CS 지식이 발목을 잡지 않도록, 효율적인 데이터 구조를 만들기 위한 Data Structure, 자료구조에 대한 포스팅을 앞으로 기록해 나갈 예정입니다. 우선, 왜 우리가 자료구조를 알아야 하는지 살펴봐야겠지요? 자료구조(Data Structure) 논리적으로 정의된 규칙에 의해 데이터를 효율적으로 관리하기 위한 표현, 혹은 구조 자료구조란, 단어 그대로 '데이터(Data')의 '형태(구조)'를 의미합니다. 프로그램이 잘 작동하기 위해, 우선적으로 개발자는 '효율적인' 코드를 작성해야 하는건 당연한 이야기겠지요? 여기서 '효율적'인 코드를 실현하기 위해선, 한가지 전.. 2023. 2. 16.
[iOS/Swift] 클래스의 계층구조, 상속(Inheritance)의 개념과 활용 클래스의 생성, 선언, 그리고 구성요소에 대해 익숙하신지요? 그렇다면, 객체지향 프로그래밍 포스팅에서 다룬 클래스의 상속성(Inheritance)과 다형성(Polymorphism)에 대한 개념을 살펴볼 시점입니다. 객체지향 프로그래밍의 특징 [CS/Basic] 객체지향 프로그래밍의 특징과 설계원칙(SOLID) 자, 이번 포스팅은 지난번 객체지향 포스팅에서 미처 다루지 못했던 객체지향 프로그래밍의 4가지 특징 그리고 객체지향 설계 원칙(SOLID) 위 2가지 사항에 대하여 살펴볼 예정입니다. 이전에 다 iosdevlime.tistory.com 클래스의 상속(Inheritance) 클래스는 상속을 통해 계층구조를 만들며, 상위 클래스의 특성을 물려받을 수 있다 사실, 객체지향 프로그래밍의 4가지 특징 중 상.. 2023. 2. 13.
[iOS/Swift] 간단하게 알아보는 프로퍼티(Property)의 유형 쉬어가는 차원으로.. 앞서 살펴본 클래스의 구성요소 중 내부에 선언되는 변수, 상수인 프로퍼티(Property)에 대한 내용을 다뤄볼까 합니다. 메모리(Memory)관련 내용과 함께 다루기엔, 다소 장황해질 수 있으므로 이번 포스팅에선 매우 간략하게 살펴보도록 하겠습니다. (지연 저장 프로퍼티나 타입 프로퍼티는, 구조체 포스팅 이후에..) 저장 프로퍼티(Stored Property) 클래스나 구조체 내부에서 활용가능한, 메모리 상에 저장되는 프로퍼티 우선, 지금까지 살펴본 프로퍼티의 유형, 저장 프로퍼티를 먼저 짚고 넘어가겠습니다. 저장 프로퍼티란? 값를 저장하기 위해 선언하는 변수 혹은 상수입니다. 클래스(Class)나 구조체(Struct)에서만 활용이 가능합니다! 저장 프로퍼티는 메모리(Memory).. 2023. 2. 12.
[CS/Basic] 메모리 구조는 어떻게 구성되어있을까? CS나 Swift 문법 관련된 포스팅을 하면서, '객체는 클래스란 틀을 바탕으로 메모리 상에 할당되는 결과물(Object)' 'Swift의 상수와 변수, 그리고 저장 프로퍼티는 메모리 상에 저장' 위와 같이 [메모리]라는 단어를 자주 사용해 왔습니다. 그런데, 실제로 메모리는 단일한 구조가 아닌 4가지의 공간, 구조로 구성되어 있다고 하는데 말입니다.. 이번 포스팅에서는 해당 구조에 대해 살펴보는 시간을 가져볼까 합니다. (ARC와 같은 면접 단골문제와도 연관되어 있으니, 반드시 짚고 넘어가야겠지요?) 메모리란 무엇인가요? 주 기억장치인 하드웨어 RAM을 의미하며, 프로그램을 실행하기 위한 정보를 저장 컴퓨터에서 동작하는 모든 프로그램은 RAM이란 기억장치 내 고유한 영역을 할당받습니다. 즉, RAM =.. 2023. 2. 12.