[6] Java/Kotlin - java 1차 개인과제 트러블 슈팅

2024. 9. 11. 08:55Java,Kotlin

728x90

※ 계산기 만들기

- Lv.1 클래스없이 계산기 만들기

- Lv.2 클래스 사용하여 계산기 만들기

- Lv.3  Enum, 제네릭, 람다 & 스트림을 활용한 계산기 만들기

 

 

1)  레벨2 Getter, Setter 메소드 호출에 대한 트러블 슈팅

 

1-1) 개요

ㄴ Getter, Setter 메소드를 제대로 불러오지 못하는 현상.

 

1-2) 배경

ㄴ 레벨2 요구사항 중 Calculator클래스에서 생성한 컬렉션필드에 대하여 메인메서드를 실행하는 App클래스에서 직접적인 접근을 막고 간접적인 접근으로 변경해야하는 상황에서 발생.

 

1-3) 발단

ㄴ 인텔리제이에서 Oracle OpenJDK 22.0.2 버전을 사용중이며, Calculator 클래스에서 생성한 컬렉션필드를 private 제어자로 세팅하고, Getter, Setter메소드로 각각 컬렉션필드에 연산결과 저장, 컬렉션필드 전체목록 조회 기능을 만든 후, App클래스에서 사용시 기능 작동이 안함.

 

1-4) 전개

ㄴ 에러는 없으며 getter,setter 메서드도 정상적으로 호출되고 있음.

 

1-5) 위기

ㄴpublic으로 컬렉션필드 객체를 직접 호출해서 add, toString 메서드 사용시에는 정상 작동했었음.

 

1-6) 절정

ㄴ 본인의 실수였음 getter, setter메서드를 생성하고 App클래스에서 사용할때 출력을 하고 있는 것으로 착각했으나, 출력 자체를 하고 있지 않았음.

 

1-7) 결말

ㄴ 트러블 슈팅이라고 작성하는 것도 좀 민망한 부분이 아닌가라는 생각을 했습니다. 값이 제대로 출력되지 않는 전의 상황까지 잘 생각은했으나, 좀 더 생각을 해서 다양한 경우의 수로 생각을 했으면 어땠을까란 생각을 했습니다.

 

 

2)  레벨3 Enum 및 람다식

 

1-1) 개요

ㄴ Enum 사용법의 대한 무지와 계산식에 대한 고민

 

1-2) 배경

ㄴ 레벨3 요구사항 중 Enum으로 연산기호를 관리하고 람다식을 추가로 활용하여 연산기호 입력없이 숫자입력으로만 연산이 되도록 하는 메서드 생성시 발생

 

1-3) 발단

ㄴ Enum으로 각 텍스트에 값을 넣고 싶은데 이상한 방식으로 선언해서 에러 발생 / 연산기호가 들어가야하는 switch문이나 if문으로만 사고의 방향이 가서 전혀 생각 못하고 있었음.

 

1-4) 전개

ㄴ enum에서 텍스트로만 선언했을땐 정상이나, 값을 넣으려고할때 에러가 나는것을 확인

 

1-5) 위기

ㄴenum 출력방법을 알아내서 확인

 

1-6) 절정

ㄴ enum도 결국은 클래스의 개념으로 추가로 생성자를 선언해줘야했지만 그러지 못했음. 

ㄴ 람다식에 대하여 찾아보고 사용해야할 방법 등 응용방법등을 알아냄. Enum에서 람다식으로 처리하고 해당되는 함수형인터페이스를 활용해서 값을 처리했어야했다.

 

 

 

1-7) 결말

ㄴ Enum의 사용법과 람다식 사용, BiFunction사용 등을 활용한 메서드 생성

ㄴ 여러 검색을 통해서 구성하고, 중간 중간에 직접 출력해보면서 진행을 하고 연산기호 입력 없이 정상 출력이 되었다.

 

 

※ 최종

ㄴ 이번 과제에서 요구사항들에 대해서 100% 이해하고 진행하진 못했다고 생각이 든다.

ㄴ 시간이 있을때 학습해서 개념들을 탄탄히 다시 잡고 가야겠다고 생각했다.

728x90