자바의 버전 공부...자바 8과 11의 차이점!
여러 개선 사항 중 모듈화라는 것을 알게 됨
✔️모듈시스템 도입
모듈화를 통해...
- 자바 클래스와 패키지를 더 체계적으로 구조화, 관리
- 모듈 간 의존성을 더욱 명확하게 관리
이렇다고 한다.
✔️모듈화의 장점?
💡 모듈화란?
▸ 소프트웨어를 작은 단위인 모듈로 분리하여 개발하는 방법
▸ 모듈은 특정 기능을 수행하는 작은 코드 블록이며 모듈끼리 상호작용하면서 전체 소프트웨어 시스템을 구축함
- 재사용성 향상 :
모듈은 독립적으로 개발되며 재사용 가능한 단위로 설계되기 때문에 다른 프로젝트나 부분에서도 활용할 수 있다.
->개발 속도를 높이고 비용을 절감할 수 있다.
ㅁ - 유지보수 용이성 :
각 모듈이 독립적이기 때문에 변경이나 수정이 필요한 경우 해당 모듈만 수정하면 된다.
->전체 코드의 영향을 최소화하여 유지보수 용이
ㅁ - 개발 효율성 증대 :
큰 시스템을 작은 단위로 나누어 개발하므로 개발자들은 병렬적으로 작업할 수 있음
-> 개발시간을 단축하고 효율성을 높일 수 있음
ㅁ - 코드 가독성 향상 :
모듈화는 코드를 논리적으로 구분하여 관리하기 쉬움
-> 각 모듈은 특정 기능을 담당하므로 코드의 의도를 이해하기 쉽고 가독성이 좋아짐
ㅁ - 디버깅 용이성 :
독립적인 테스트 및 디버깅이 가능
->빠르게 버그를 발견하고 수정 가능
ㅁ - 유연성과 확장성 :
모듈화는 소프트웨어를 작은 단위로 나누어 개발
->필요에 따라 새로운 기능을 추가하거나 기존 기능을 변경하는 작업이 비교적 간단해짐
ㅁ - 품질향상 :
단위테스트와 같은 품질보증 절차를 강화할 수 있다
->각 모듈은 독립적으로 테스트되므로 전체 시스템의 품질을 높일 수 있다.
ㅁ - 분업 용이성 :
대규모 프로젝트에서 여러 개발자들이 동시에 작업할 수 있게 작업을 분할하여 각 개발자가 본인의 역할에 집중할 수 있도록 도와줌
✔️모듈화 예시
<가정>
- 주문 관리 시스템은 제품 주문과 배송관리로 구성되어있다고 가정
- 각 모듈은 독립적으로 개발 및 유지 보수가능
1. 제품 주문 모듈:
제품 주문과 관련된 기능을 담당
// ProductOrderModule.java
public class ProductOrderModule {
public void placeOrder(Product product, Customer customer) {
// 주문 처리 로직
}
}
2. 배송 관리 모듈:
주문된 제품을 배송하는 기능을 담당
// ShippingModule.java
public class ShippingModule {
public void shipOrder(Order order) {
// 배송 처리 로직
}
}
3. 메인 애플리케이션:
두 모듈을 사용하여 주문과 배송을 관리한다.
// MainApplication.java
public class MainApplication {
public static void main(String[] args) {
ProductOrderModule productOrderModule = new ProductOrderModule();
ShippingModule shippingModule = new ShippingModule();
Product product = new Product("12345", "Smartphone", 599.99);
Customer customer = new Customer("John Doe", "johndoe@example.com");
Order order = productOrderModule.placeOrder(product, customer);
shippingModule.shipOrder(order);
}
}
'항해' 카테고리의 다른 글
Parameter와 Argument의 차이 (0) | 2023.08.23 |
---|---|
프로그래머스 문제 풀이_푸드파이트 대회 (0) | 2023.08.22 |
WIL : JVM이란 무엇인가? (0) | 2023.08.21 |
JAVA_형변환(casting) 정리! (0) | 2023.08.18 |
트러블슈팅 Set 자료구조 사용_순서 관련 문제 (0) | 2023.08.17 |