본문 바로가기
Interface? or Method? <6> import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class CalculatorApp { Calculator calc = new Calculator(); Parser parser = new Parser(); //Calculator class 에 사용되는 List 생성 List numbers = new ArrayList(); public void start(){ Scanner calculation = new Scanner(System.in); while(true){ try{ System.out.println("첫 번.. 2024. 11. 15.
Generic을 도대체 왜 쓸까? <5> 이번 프로젝트를 하면서 제일 힘든 순간이다.일단 자바를 공부하기 이전엔 한번도 들어본 적 없는 기능인데다가, 왜 쓰는지는 알겠는데 내 코드에 적용하기 가장 힘들었다.어설프게 대충 끼워넣다가는 유지보수할때 힘들 게 뻔했다. https://inpa.tistory.com/entry/JAVA-%E2%98%95-%EC%A0%9C%EB%84%A4%EB%A6%ADGenerics-%EA%B0%9C%EB%85%90-%EB%AC%B8%EB%B2%95-%EC%A0%95%EB%B3%B5%ED%95%98%EA%B8%B0 ☕ 자바 제네릭(Generics) 개념 & 문법 정복하기제네릭 (Generics) 이란 자바에서 제네릭(Generics)은 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법을 의미한다. 객체별로 다른.. 2024. 11. 15.
12일차 https://roqkfchqh.tistory.com/51" data-og-description="연속으로 계산할 경우 이전 연산의 계산결과와 더해져야 하는데, 이전에 입력했던 값과 연산을 수행하는 버그가 있다.문제가 될만한 부분은 .reduce 메소드의 람다식 부분이다.reduce의 사용법을 " data-og-host="roqkfchqh.tistory.com" data-og-source-url="https://roqkfchqh.tistory.com/51" data-og-url="https://roqkfchqh.tistory.com/51" data-og-image="https://scrap.kakaocdn.net/dn/bib0G4/hyXzMot5T6/8qkK6M9tR7zterk2lxgmkK/img.png.. 2024. 11. 15.
Parser.java의 중요성을 깨달음 <4> 계산기에 parser.java를 다시 추가했다. 초반에는 정말 필요없을 줄 알았는데 머쓱해진다.. 하하하그 이유는,지금 내 계산기는 값을 list에 저장된 값들을 짝수와 홀수로 구별해서 각각 number와 operator에 넣는다.문제는, 사용자가 값을 잘못 입력하면이런식으로 홀수번째 인덱스에 숫자가 들어가게 된다.list의 값을 초기화 할 수도 있지만 좀 번거롭기도 하고 잘못된 타입을 걸러내는 것이 꼭 필요한 기능인 것 같아서 원래 있던 코드인 parser.java를 재사용하기로 했다.삭제했었기 때문에 깃허브에서 주섬주섬..복사해왔다.처음에는 단순하게 calaulator에서 parser로 보내고, parser에서 에러가 발생하면 calculator의 numbers를 초기화하도록 했는데이게 그 유명한 스.. 2024. 11. 15.
트러블슈팅: Reducing a Stream <3> 연속으로 계산할 경우 이전 연산의 계산결과와 더해져야 하는데, 이전에 입력했던 값과 연산을 수행하는 버그가 있다.문제가 될만한 부분은 .reduce 메소드의 람다식 부분이다.reduce의 사용법을 내가 잘못 알고 사용했다. 1, a,b - > b로 사용하면 다음 첫번째 요소에 이전 연산 결과가 들어가는 줄 알았는데,이전 연산에서의 b값이 첫번째 요소에 들어가는 것 같다.구글링을 여러 번 했는데 이해도 잘 안되고 정확한 정보를 알 수 없어서 공식 문서로 찾아갔다.https://docs.oracle.com/en/java/javase/23/docs/api/java.base/java/util/stream/Stream.html#reduce(java.lang.Object,java.util.function.Binar.. 2024. 11. 15.
Stream 공부하다 뇌에서 Steam 나옴😇 <2> 제목은 뻥이고 사실 쉬웠다.생긴건 참 어렵게 생겼는데 javascript 경험이 있어서 함수형 프로그래밍에 익숙한 덕분인가..?게다가 메서드들이 js의 함수명과 거의 비슷했다. 좀 더 고급 언어가 된 java 느낌?그래서 쉬운 만큼 최대한 많은 stream 메서드를 사용해서 계산 작업에 담고싶었고, 우선적으로 "lambda와 stream api를 써야하는 이유가 뭘까?"를 찾아보았다.사실 강의를 통해 처음 접했을 땐 '아니 여태 클래스랑 객체지향 다 공부했는데 갑자기 함수형 프로그래밍을 공부하라고?' 라고 생각했기 때문이다..https://dwaejinho.tistory.com/entry/Java-Lambda-Stream-%EB%8F%84%EC%9E%85-%EB%B0%B0%EA%B2%BD%EA%B3%BC.. 2024. 11. 14.