본문 바로가기
iOS/Swift

[iOS/Swift] 프레임워크(Framework)와 클래스(Class)와의 관계

by iosdevlime 2023. 1. 30.

Swift은 다중 패러다임 언어이며, 아래와 같은 프로그래밍 패러다임을 차용합니다.

Swift의 언어 패러다임은?
"명령형/객체지향을 기반으로, 함수형/프로토콜 프로그래밍을 지향하는 언어

 

위와 같이 Swift의 언어에 대해 정의한 내용 중,

이번 파트에서는 '객체지향을 기반으로 한다' 란 의미에 대해 집중해보고자 합니다.

 

 

혹시, 프레임워크(Framework)란 용어에 개념을 알고 계신가요?

 

애플의 프레임워크의 대부분은,

객체지향 프로그래밍을 기반으로 설계된 클래스(Class)로 구성되어 있습니다.

 

따라서 iOS 플랫폼을 활용한 개발자라면,

프레임워크와 클래스에 대해 이해할 필요가 있습니다.

 

 

 


 

 

 

 

프레임워크(Framework)와 클래스와의 관계

SW의 구체적인 부분에 해당하는 설계와 구현을 재사용하게끔 클래스들을 제공하는 것

 

프레임워크(Framework), 일종의 뼈대로 해석되는 해당 개념은

객체지향 프로그래밍과 밀접한 관계를 가지고 있습니다.

 

CS 관련 포스팅 중, 객체지향 프로그래밍 내용을 잠깐 빌려와 언급해보자면.. 

 

객체지향 프로그램의 4가지 특징 중

'추상화(Abstraction)' 란 개념에서 프레임워크의 필요성을 이해할 수 있습니다.

 

 

객체지향 프로그래밍의 특징과 설계 원칙

 

[CS/Basic] 객체지향 프로그래밍의 특징과 설계원칙(SOLID)

자, 이번 포스팅은 지난번 객체지향 포스팅에서 미처 다루지 못했던 객체지향 프로그래밍의 4가지 특징 그리고 객체지향 설계 원칙(SOLID) 위 2가지 사항에 대하여 살펴볼 예정입니다. 이전에 다

iosdevlime.tistory.com

 

 

 

추상화를 기반으로 효율적인 재 사용을 위한 프레임워크 

  • 객체지향 프로그래밍은, 추상화를 기반으로 객체(인스턴스)를 실체화 합니다.
    • 객체(인스턴스)는 일종의 독립적인 기능 모듈입니다.
    • 해당 객체(들)의 공통적인 속성가 행위를 정의하는 것이 바로 추상화입니다.
  • 프레임워크(Framework)는 추상화 된 클래스를 제공하는 더 큰 틀입니다.
    • 개발자는 프레임워크에서 ➟ 클래스의 기능을 선택, 활용할 수 있습니다.
    • 또한, 프레임워크에 포함된 코드의 재 사용을 통해 보다 편리한 앱 개발이 가능합니다.

프레임워크는 '뼈대'만 제공하며, 개발자는 이에 '살'을 붙여서 개발에 활용함!
프레임워크는 '뼈대'만 제공하며, 개발자는 이에 '살'을 붙여서 개발에 활용함!

 

 

 

 

Apple의 프레임워크

  • 애플에서 사용하는 주 프레임워크는 Cocoa Framework입니다.
    • Cocoa Framework는, 다수의 프레임워크가 모여 구성되었습니다.
    • 내부 프레임워크로는 Cocoa Touch Framework, UIKit, Foundation 등이있습니다.
  • Cocoa Framework와 관련된 자세한 내용은 추후 포스팅에서 다루도록 하겠습니다.

 

 


 

객체지향 프로그래밍, 그리고 클래스의 개념을 이해하고 계셨다면

이번 포스팅은 매우 쉽게, 술술 읽고 넘어가셨으리라 생각합니다. 

 

이어서, 다음 포스팅부터는

클래스의 선언, 구성 요소, 자주 사용하는 용어정리 까지

예제와 코드를 기반으로 살펴도록 하겠습니다. 

 

  •  

댓글