-소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 틀이다.
-재사용이 가능하도록 소프트웨어 구성에 필요한 기본을 제공한다.
-정보시스템의 개발 및 운영을 지원하는 도구 및 가이드 등을 포함한다.
Spring, React, Angular, View, Django
특징 | 설명 |
---|---|
모듈화 (Modularity) | 프레임워크는 구현을 인터페이스 뒤에 감춰 모듈화를 강화하고 설계와 구현 변경에 따르는 영향을 최소화한다. |
재사용성 (Reusability) | 인터페이스를 통해 여러 애플리케이션에서 반복적으로 사용하는 일반적 컴포넌트를 정의하여 재사용성을 높인다. |
확장성 (Extensibility) | 다형성을 통해 애플리케이션이 프레임워크의 인터페이스를 확장한다. |
제어의 역행 (Inversion of Control) | 프레임워크 코드가 전체 애플리케이션의 처리 흐름을 제어하고 외부의 이벤트에 대해 애플리케이션이 어떤 메서드를 수행해야할지 결정한다. |
*다형성(Polymorphism) : 한 타입의 참조 변수로 여러 타입의 객체를 참조 할 수 있도록 하는 것이며, 여러 가지 형태를 가질 수 있는 능력을 의미한다.
구성요소 | 설명 |
---|---|
개발환경 | 설계, 구현, 테스트 등 개발에 필요한 지원 도구 모음 |
실행환경 | 자바 기반 응용시스템 개발 시 필수적 기능을 패턴화해 미리 구현해둔 라이브러리 코드 모음 |
운영환경 | 표준 프레임워크 기반 개발 시스템에 대한 운영 시 필요한 의사소통 및 모니터링 도구 모음 |
관리환경 | 표준 프레임워크에 대한 기술 지원, 업그레이드 등 관리하기 위한 내부 업무 시스템 |
-모듈과 패키지를 총칭하며, 효율적인 프로그램 개발을 위해 필요한 프로그램을 모아 놓은 집합체를 의미한다.
*모듈이 개별 파일이라면 패키지는 파일들을 모아 놓은 폴더라고 볼 수 있다.
Bootstrap, jQuery
라이브러리는 도움말, 설치 파일, 샘플 코드 등으로 구성된다.
종류 | 설명 |
---|---|
표준 라이브러리 | -프로그래밍 언어가 기본적으로 가지고 있는 라이브러리를 의미 |
-각 프로그래밍 언어의 표준 라이브러리는 여러 종류의 모듈과 패키지를 가지며, 표준 라이브러리를 이용하면 별도의 파일 설치 없이 날짜와 시간 등의 기능을 이용 할 수 있음 | |
외부 라이브러리 | -표준 라이브러리와 달리 별도의 파일을 설치 |
-외부 라이브러리는 누구나 개발하여 설치 할 수 있으며, 인터넷 등을 이용하여 공유할 수도 있음 |
표준 라이브러리 | 설명 | 예시 |
---|---|---|
입출력 | 핵심 입력과 출력 함수들을 정의 | C언어<studio.h>/JAVA:Scanner Class |
문자열 | 문자열 처리 함수들을 정의 | C언어<string.h>/JAVA:String Class |
시간 처리 | 데이터와 시간 처리 함수들을 정의 | C언어<time.h>/JAVA:Data Class |
수학 | 일반적인 수학 함수 정의 | C언어<math.h>/JAVA:Math Class |
1) 문자열 라이브러리 함수
문자열 함수를 사용하기 위해서는 string.h 헤더 파일을 include하여 사용한다.
함수 | 설명 |
---|---|
strcat | 문자열끼리 연결하는 함수(String Concatenate) /(A,B); B를 A 문자열 뒤에 붙임 = AB |
strcpy | 문자열을 복사하는 함수(String Copy) /(A,B); B문자열을 A문자열에 복사 = BB |
strcmp | 문자열을 비교하는 함수(String Compare) /(A,B); A>B(1), A=B(0),A<B(-1) |
strlen | 문자열 길이를 알려주는 함수(String Length) |
2) 표준 라이브러리 함수
표준 라이브러리 함수를 사용하기 위해서는 stdlib.h. 헤더 파일을 include 하여 사용한다.
함수 | 설명 |
---|---|
atoi | 문자열(str)을 정수(int)형으로 변환하는 함수 |
atof | 문자열(str)을 실수형(float, double)으로 변환하는 함수 |
itoa | 정수(int)형을 문자열(str)로 변환하는 라이브러리 함수 |
3) 수학 라이브러리 함수
수학 라이브러리 함수를 사용하기 위해서는 math.h 헤더 파일을 include하여 사용한다.
함수 | 설명 |
---|---|
ceil | ceil(n); 소숫점 올림 |
floor | floor(n); 소숫점 내림 |
가장 큰 차이점은 개발의 주도권을 누가 가지고 있는가다!
프레임워크는 개발 주도권이 프레임워크에 있어 웹개발 시작부터 기능 구현까지 다 프레임워크를 따라야 하지만 라이브러리는 개발 주도권이 개발자에게 있어 원하는 라이브러리를 가져와 개발자가 원하는대로 기능만을 사용 할 수 있다.