🧐 프로젝트 작업 내용
☠️ 트러블 슈팅
- 발생한 Issue
- Lv2 과제 수행 간 Calculator 사칙연산 작업 클래스 연결과정에서 입력받은 값을 조건문이 올바르게 처리하지 못하는 이슈가 발생
- calculate 사칙연산 클래스 선언 간 래퍼 클래스를 사용해야 하는 이유가 무엇인지에 대한 확인이 필요했음
- 해결방법 / 찾아본 내용
- Calculator.java 파일 내에 조건문을 설정하면서 초기 입력값에 대한 조건문 설정에 오류가 있었음
- 입력받는 값 둘 중 하나라도 양의 정수가 아니면 조건문이 false가 되도록 설정해야하나 true 값으로 설정하여 예외 케이스에 대해 정상적으로 코드가 실행되지 않음
- Calculator.java 파일 내에 조건문을 설정하면서 초기 입력값에 대한 조건문 설정에 오류가 있었음
+ 조건문을 처리함에 있어서 Early Return 개념에 대해 숙지하고 코드 구성을 할 수 있도록 해야함 !
- 정의 : 특정 조건을 만족하지 않을 경우, 가능한 한 빨리 함수 실행을 종료하고 값을 반환하는 방식
- 목적 : 코드의 가독성과 유지보수성을 높이고, 들여쓰기의 깊이를 줄이기 위함
- 코드의 성능 개선보다는 유지보수성을 높이는게 주요 핵심
- 값을 입력받고 결과를 저장하는 단계에서 계산 이력 관리 및 배열 선언 등으로 인하여 래퍼 클래스 선언을 통해 코드 구성이 필수적인 부분이었음
- 이 외에도 null 값을 표현하여 코드 구성을 하려는 점에서 래퍼 클래스가 필요
- 오토박싱 / 언박싱 편의성 확보 등으로 인하여 래퍼 클래스가 필수요소가 된 부분
- 코드의 성능 개선보다는 유지보수성을 높이는게 주요 핵심
/* 값을 저장하는 배열형태의 컬렉션 필드 선언 및 생성 private 접근제한자 설정으로 외부 클래스에서 접근 불가 */
private List<Integer> saveList = new ArrayList<>();
/* 계산 메서드를 래퍼클래스로 선언하여 위의 List 선언을 올바르게 받아들이고 처리할 수 있도록 구성 */
public Integer calculate(int firstNum, int secondNum, char operation) {}
'JAVA > Java 실습' 카테고리의 다른 글
| [JAVA 실습] 객체지향 커머스 과제 (0) | 2025.09.22 |
|---|---|
| Lv3. Enum, 제네릭, 람다 & 스트림을 이해한 계산기 만들기 (0) | 2025.09.18 |
| 점메추 SPA 에디션 (0) | 2025.09.10 |
| MVC 기반 점심 메뉴 추천기 (0) | 2025.09.10 |
| JSP 자기소개 버전 만들기 (0) | 2025.09.09 |