취업대비반 3일차(MSA, Generic)

LeeJaewon·2023년 3월 29일
0

MSA(Microservice Architecture)란?

마이크로서비스 아키텍처(MSA)는 애플리케이션을 작고 독립적이며 느슨하게 결합된 서비스 모음으로 구성하는 소프트웨어 개발 접근 방식입니다. 이 아키텍처에서 각 서비스는 특정 비즈니스 기능을 수행하고 잘 정의된 API(Application Programming Interface)를 통해 다른 서비스와 통신하도록 설계되었습니다.

MSA의 기본 개념은 대규모 모놀리식(단일체) 애플리케이션을 더 작고 관리하기 쉬운 구성 요소로 분해하여 각 구성 요소를 독립적으로 개발, 배포 및 확장할 수 있도록 하는 것입니다. 이 접근 방식은 향상된 내결함성, 더 나은 확장성, 더 쉬운 유지 관리와 같은 여러 가지 이점을 제공합니다.

MSA는 또한 개발자와 운영 팀이 긴밀하게 협력하여 애플리케이션이 지속적으로 통합, 테스트 및 배포되도록 하는 DevOps 문화를 촉진합니다. 이를 통해 개발 프로세스를 가속화하고 시장 출시 기간을 단축하며 소프트웨어의 전반적인 품질을 개선할 수 있습니다.

제네릭에 대해서 설명하고, 컬렉션 클래스에서 왜 제네릭을 사용하는 지 설명해주세요.

제네릭은 개발자가 안전한 방식으로 형식이 다양한 유형의 데이터로 작업할 수 있는 코드를 작성할 수 있도록 하는 프로그래밍 기능입니다. 즉, 런타임까지 정확한 데이터 유형을 지정하지 않고도 모든 유형의 데이터로 작업할 수 있는 클래스, 메서드 또는 인터페이스를 정의할 수 있습니다.

예를 들어 모든 유형의 항목 목록을 보유할 수 있는 컬렉션 클래스를 만들고 싶다고 가정해 보겠습니다. 제네릭이 없으면 각 데이터 유형에 대해 별도의 클래스(예: 정수 클래스, 문자열 클래스 등)를 만들어야 하므로 코드 중복 및 유지 관리 문제가 발생할 수 있습니다. 제네릭을 사용하면 모든 데이터 유형에서 작동할 수 있는 단일 컬렉션 클래스를 만들 수 있습니다.

컬렉션 클래스에서 제네릭을 사용하면 여러 가지 이점이 있습니다.
첫째, 향상된 코드 재사용성 : 각 데이터 유형에 대해 별도의 클래스를 만들 필요가 없기 때문에 코드를 더 재사용하고 유지 관리할 수 있습니다.
둘째, 형식 안전성 : 런타임이 아닌 컴파일 시간에 유형 오류를 포착하여 시간을 절약하고 버그를 줄일 수 있습니다.
셋째, 성능 향상 : 컬렉션으로 작업할 때 유형 캐스팅을 수행할 필요가 없기 때문에 성능 향상에 도움이 될 수 있습니다.

요약하면 제네릭은 개발자가 형식이 안전하고 재사용 가능한 코드를 작성할 수 있게 해주는 강력한 프로그래밍 기능입니다. 컬렉션 클래스에서 제네릭을 사용하면 향상된 코드 재사용성, 형식 안전성 및 성능과 같은 여러 가지 이점이 있습니다.

제네릭의 장점
1. 제네릭을 사용하면 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지할 수 있다.

  1. 클래스 외부에서 타입을 지정해주기 때문에 따로 타입을 체크하고 변환해줄 필요가 없다. 즉, 관리하기가 편하다.

  2. 비슷한 기능을 지원하는 경우 코드의 재사용성이 높아진다.

profile
한 걸음 한 걸음 꾸준히

0개의 댓글