본문
[2017.08.29] 13. 왜 제네릭을 사용할까?
컴퓨터/질문: 개발 2017. 8. 29. 20:36
도입
결론부터 말하면 제네릭을 통해
1) 타입의 안전성을 보장
2) 코드 중복 해결
할 수 있어 사용한다.
예를 들어, A회사의 매출관리 프로그램을 만든다고 가정해보자.
A 회사는 경영을 위해 매출을 주기적으로 관리하며 매출정보를
1) 회사 홍보를 위해 고객들에게
2) 경영판단을 위해 CEO에게
공개한다. 차이점은 CEO에게는 경영판단을 위해 더 세밀한 정보를 전달한다.
실습
그래서 아래와 같이 코드를 작성하였다.
1. CEO 용
2. 클라이언트 용
여기서 문제점은 같은 로직임에도 불구하고 코드가 중복된다.
이를 해결하기 위해 모든 클래스가 상속 받는 Object로 변경해보았다.
3. Object로 통합
코드 중복의 문제는 해결했다. 그러나! 또 다른 문제가 발생했다.
setYearSaleInfo 메소드를 실행 할 때, 입력자의 착각으로 Main에서 setYearSaleInfo("이번년도 양호") 라고 의도하지 않은 입력 할 경우도 컴파일 에러가 발생하지 않는다.
이러한
1) 타입의 안전성 보장과
2) 코드 중복을 해결
3) 컴파일의 혜택을 활용
하기 위해 '제네릭'이라는 개념이 등장하게 되었다.
4. '제네릭'을 사용한 코드
제네릭으로 구현할 경우, 입력자의 착각으로 Main에서 setYearSaleInfo("이번년도 양호") 라고 입력하면 컴파일 에러가 발생시켜 사전에 에러를 방지 할 수 있다.
#제네릭 #왜 제네릭 #자바 제네릭 #제네릭 사용이유
'컴퓨터 > 질문: 개발' 카테고리의 다른 글
[2017.09.23] 01. 왜 ORM을 사용할까? (0) | 2017.09.23 |
---|---|
[2017.09.22] 14. 왜 Serializable를 사용할까? (0) | 2017.09.22 |
[2017.08.21] 12. 왜 Enum을 사용할까? (0) | 2017.08.21 |
[2017.08.21] 11. 런타임(Runtime)과 컴파일(Compile)이란? (0) | 2017.08.21 |
[2017.08.15] 09. 왜 인터페이스(Interface)를 사용할까? (0) | 2017.08.15 |
댓글