마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

프레임워크의 의미_자바 프레임워크 vs 자바 컬렉션 프레임워크 [closed]

0 추천

안녕하십니까?

초보로 자바 언어 이용하여 안드로이드 앱 개발 공부 중입니다. 교재, 블로그, 동영상 강의 따라서 코딩하고, 실행하고 하는 과정을 통해 공부하면서, 앱을 만들어 보고 있습니다.

그런데 그러다 보니 기초가 부족한 듯하여, 기본 강의, 용어 등을 쭉 보고 있는데 프레임워크라는 용어에 의문이 생겼습니다.

 

아래에서 이야기 하는 자바 프레임워크의 프레임워크와 자바 컬렉션 프레임워크의 프레임워크는 단어는 같지만 완전히 다른 것인지요?

그렇다면 자바 컬렉션 프레임워크외에 다른 자바 ??? 프레임워크는 뭐(???)가 있나요?

감사합니다.

 

1. 자바 프레임워크

Java 프레임워크에는 몇 가지가 있습니다. 개발자의 기술 역량과 애플리케이션 또는 웹사이트 요구 사항에 따라 어떤 프레임워크를 사용해야 하는지가 결정됩니다. 많이 사용되는 몇 가지 오픈소스 프레임워크는 다음과 같습니다.

  • Quarkus: 풀스택 Java 프레임워크로, 클라우드 네이티브 방식의 마이크로서비스 기반 인프라와 원활하게 연동됩니다.
  • Grails: Groovy 프로그래밍 언어로 작성되며, 웹 애플리케이션 프레임워크에 HTML 및 CSS 플러그인 보기를 제공합니다.
  • Hibernate: Object-Relational Mapping(ORM) 프레임워크로, Java Database Connectivity(JDBC)가 제공하는 API의 도움을 받아 SQL 쿼리를 실행할 수 있는 관계형 데이터베이스 관리에 사용됩니다.
  • 프론트엔드/클라이언트 측 및 백엔드 소프트웨어 개발 팀을 연결하는 Google Web Toolkit(GWT)

많이 사용되는 기타 Java 프레임워크는 다음과 같습니다.

  • Vaadin: 사용자 인터페이스에 중점을 둔 프레임워크 포함 
  • Play: 웹 애플리케이션 개발을 간소화하고 Scala 프로그래밍 언어와 원활하게 연동됩니다.
  • Apache Struts: 엔터프라이즈 애플리케이션을 중심으로 비동기식 JavaScript 및 XML(AJAX) 기술과 원활히 연동됩니다. 따라서 모든 것을 교체하지 않고도 웹 페이지 섹션을 업데이트할 수 있는 유용한 방법입니다.
  • Oracle의 JavaServer Faces(JSF): 백엔드 개발자에게 프론트엔드 프레임워크 제공

2. 자바 컬렉션 프레임워크: collection, set, map, list

  1. 자바 컬렉션 프레임워크는 무엇이고, 사용하므로서 얻는 이점은 무엇인가?
    • 객체나 데이터들을 효율적으로 관리(추가, 삭제, 검색, 저장)하기 위해서 사용하는 라이브러리를 의미
    • 이점
      • 라이브러리 사용으로 인한 시간 감소
      • 검증되어 있기 때문에 코드 품질 보장
      • 재사용 가능

3. 프레임워크: 자바만이 아닌 다른 다양한 프레임 워크

  • 스트럿츠 프레임워크 (STRUTS Framework) 
  • 스프링 프레임워크 (Spring Framework)
  • 앵귤러 JS( AngularJS)
  • 장고 프레임워크 (Django Framework)

 

질문을 종료한 이유: 아래에 의해서 정확히 이해 하였습니다. Although referred to as a framework, it works in a manner of a library.  프레임워크로 지칭하고 있지만, 라이브러리와 같은 형태로 동작한다.
원래자유 (470 포인트) 님이 2022년 3월 17일 질문
원래자유님이 2022년 3월 21일 closed

1개의 답변

0 추천
 
채택된 답변

사전적이고 좀 더 학술적인 의미는 Wikipedia을 보시면 좋을 것 같고,

https://en.wikipedia.org/wiki/Software_framework

일반적으로 개발 시에 framework 이라 부르는 건 애플리케이션을 만들 수 있도록 기본적인 빌딩 블록을 제공하는 소프트웨어를 말합니다. 레고같이 어떤 녀석들을 정해진 순서에 따라 필요한 부분에 가져다 씀으로써 손쉽게 애플리케이션을 만들 수 있는 것이라고 보시면 됩니다. 라이브러리가 특정 기능을 제공하는 것과 구별되는 점이죠.

자바 콜렉션에 대한 설명

https://en.wikipedia.org/wiki/Java_collections_framework

프레임워크로 부르는 것은 그렇게 불려지길 원하는 오라클의 바램인 것 같고 위키에서도 언급했듯이

Although referred to as a framework, it works in a manner of a library
프레임워크로 지칭하고 있지만, 라이브러리와 같은 형태로 동작한다.

라고 나와있네요.

프레임워크와 라이브리 같은 용어는 경험이 쌓이면 딱히 사전적인 설명이 없더라도 구분할 수 있게됩니다. 결론적으로, 자바 콜렉션을 프레임워크로 부르던, 클래스의 집합으로 부르던 큰 신경을 쓰지는 않아도 될 것 같습니다.

spark (188,520 포인트) 님이 2022년 3월 17일 답변
원래자유님이 2022년 3월 21일 채택됨
...