본문 바로가기

Java

[IT국비지원교육_코딩_비전공자] 컬렉션 프레임웍(2) /라이브러리

라이브러리는 주로 소프트웨어를 개발할 때 프로그램이 사용하는 비휘발성 자원의 집합이다.

라이브러리에는 미리 작성된 변수라던가 코드라던가 함수, 메서드, 클래스가 포함될 수 있고 쉽게 말하면 개발자가 개발할 때 필요한 것을 모아둔 도구들을 필요할 때 호출하는 방식을 쓰는 것이 바로 라이브러리 인 것이다.

아까 잠시 언급한 롬복은 라이브러리라고 부르지 프레임워크라고는 하지 않는 것이 그 이유가 될 수 있다. 왜냐? 롬복은 반드시 써야만 하는 것은 아니기 때문이다.

여기까지 내용을 정리해두고 다시 프레임워크의 개념으로 넘어가면

일단 프레임워크가 되게 되면 무엇의 차이가 있는가 프레임워크는 소프트웨어 애플리케이션 솔루션의 개발을 수월하게 하기 위해 개발된 소프트웨어의 구체적인 기능들에 해당되는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경이다.

우선, 설명자체가 너무나도 복잡하다. 일단 계속하면

프레임워크는 애플리케이션 개발시 필요한 필수적인 코드 알고리즘 데이터베이스 연동과 같은 기능을 위해서 어느정도 뼈대를 제공해주는 것이다.

그리고 그 뼈대위에 개발자가 코드를 작성해서 애플리케이션을 완성해야 한다. 이 뼈대를 제공해주기 때문에 객체지향 개발을 하면서 일관성 부족 등의 문제를 해결해준다.

사실 프레임워크도 라이브러리인데 목적이 조금 다르다 라고 생각하면 된다.

프레임워크는 골격자체를 제공해주기 때문에 코드의 일관성을 보장한다 라는 것이 굉장히 중요한 부분인 것이다. 한마디로 골격 제공 및 일관성 보장!

ArrayList를 한번 쓰면 배열쪽으로 돌아가기 힘들다. ? 너무 편하기 때문이다

 , 그 자체가 객체지향 개발을 하게 되었을 때 데이터군을 표현하기 위해서는 다른 수단을 안쓰게 된다. ,  내가 list를 만들어도 다른 사람이 list를 만들어도 그것은 list의 문법이 되는 것이다.  코드의 동작이 매우 일관적이어진다.

내가 자료를 list에 추가하기 위해서 쓰는 것은 결국, add 메서드를 이용해서 하게 될텐데

내가 데이터를 가져오기 위해서는 get메서드를 쓰겠지. 방식은 나나 다른 사람이나 똑같다.

그럼 코드 자체가 일관성 있어진다라는 뜻이고,  일관성을 보장하는 라이브러리 (프레임웍)

** 프레임웍 : 컬렉션 클래스 들의 모음 이라고 볼 수 있다.

, 라이브러리가 좀더 포괄적인 개념이고 프레임워크가 좀더 구체적인 개념인 것이다.

**내가 자주 사용하는 Scanner는 프레임워크 아님! 스캐너는 클래스 딱 하나 있는, 굉장히 협소한, 라이브러리 중에서도 라이브러리라고 부르기 힘든 정도이다.

그리고 프레임워크 급이 된다는 것은 보통 그 규모에 따라서도 얘기를 할 수 있는데

라이브러리는 규모가 좀더 작고 프레임워크는 상대적으로 규모가 크다.