level3 계산기 과제 - 제네릭 클래스

SIHA·2025년 1월 8일

generic 활용


처음에는 위의 사진처럼 그냥 Double로 고정하고자 했다.
근데, 요구사항 분석 했었을 때, 입력된 수와 결과값이 정수일 경우 등을 고려해 다양한 숫자 타입을 지원할 수 있도록 다시 수정했다.


처음 수정하였을 때는 저장되는 수와 결과 값이 <T> 일 것이라 생각해, 숫자의 필드와 결과 값을 반환하는 함수의 반환 타입을 <T>로 하고자 하였으나,
Cannot resolve symbol 'T'라는 오류가 나왔다.


그래서 ArthemeticCalculator옆에 클래스 선언부에 <T>를 붙이고, 숫자 값으로 제한하고자 extends T를 추가했다.

파일 구조

/calculator3
   ㄴ Main.java
   ㄴ Operator.enum  // enum 타입 변수
   ㄴ Calculator.java    // 총괄, showResult, 타입 구분
   ㄴ ArithmeticCalculator.java   // 실제 사칙연산

지금은 ArithmeticCalculator만 구현해놨고,
내일은 Calculator를 구현하여 역할을 나누고자 한다.

profile
뭐라도 해보자

0개의 댓글