[Java 기본 원리] 프레임워크부터 프로세스까지 - 개발상식
개발의 핵심 개념인 프레임워크vs라이브러리, 모듈vs컴포넌트, 프로세스vs스레드의 특징을 정리한다. 🔍
프레임워크와 라이브러리 💡
프레임워크는 개발을 위한 뼈대(틀)를 잡아주는 역할
라이브러리는 개발을 위한 기능을 자유롭게 제공하는 역할
예시
- 프레임워크: 아파트 구조(기둥,벽,화장실 등) -> 입주자는 정해진 구조 내에서만 인테리어 가능
- 라이브러리: 요리재료 -> 요리사는 원하는 재료만 선택해서 자유롭게 요리!
차이점: 자유도
- 프레임워크는 규칙을 지키며 사용
- Spring을 생각해보면, Spring의 구조를 알아야 개발할 수 있다.
- 라이브러리는 자유롭게 사용
- jQuery를 생각해보면, 필요한 함수 바로 가져다 사용 한다.
모듈과 컴포넌트 💡
모듈은 연관 메소드/클래스의 집합이며 정적인 구조 -> 설계 시점에 의미가 있음
컴포넌트는 기능의 최소 단위이며 런타임에 독립적 실행되는 단위 -> 실행 시점에 의미가 있음
예시
-
클라이언트10, 백엔드1 → 모듈 : 2개 / 컴포넌트 : 11개
-
UI버튼, 함수 -> 모듈은 함수 / 컴포넌트는 UI버튼(예로 글쓰기 버튼)
공통점: 재사용 가능하여 유지보수 용이
프로세스와 스레드 💡
프로세스와 스레드 특징
-
프로세스
-
실행 중인 프로그램
-
독립적 메모리 사용 -> 각각 독립적 실행
-
-
스레드
-
프로세스 내 작업 단위
-
프로세스 내 메모리 공유 -> 동일 프로세스 내 스레드 간 자원 공유 가능
-
예시
- 프로세스: 독립된 식당
- 각자의 주방, 홀, 창고 보유
- 다른 식당의 영향 없이 운영
- 스레드: 한 식당의 직원들
- 주방장, 서빙이 자원 공유
- 하나의 주방에서 협업
댓글남기기