본문 바로가기

STREAM3

[Java8] 메소드를 파라미터로 전달하기 안녕하세요? 이번 시간엔 java8에 새로 추가된 기능 중 메소드 파라미터에 대해 다시 정리해볼 예정입니다. 모든 코드는 Github에 있기 때문에 함께 보시면 더 이해하기 쉬우실 것 같습니다. (공부한 내용을 정리하는 Github와 세미나+책 후기를 정리하는 Github, 이 모든 내용을 담고 있는 블로그가 있습니다. ) 예제 여기에서는 간단한 프로그램을 기존 자바 코드로 해결하면서 발생하는 문제를 자바8에서 어떻게 개선할 수 있는지 비교해볼 예정입니다. 단, 람다식/스트림 등등의 자세한 내용은 다음 포스팅에 포함될 예정입니다. 여기선 자바8의 변화로 메소드를 파라미터로 넘기는 이유와 장점에 대해 소개할 예정입니다. 과일 재고 프로그램 예를 들어 과일 재고 목록을 관리하는 어플리케이션을 만든다고 가정하.. 2017. 10. 9.
악취나는 코드 개선하기 시리즈 - 순회 (Iteration) IntelliJ 블로그에 올라온 시리즈물을 번역 & 재정리 하였습니다. 3. Code Smells: 반복 저번시간엔 의심스러운 중첩 코드를 살펴 보았습니다. 이 문제를 해결하는 가장 좋은 방법은 기존 클래스에서 데이터를 가진 클래스의 내부를 이해하고 다루는것인 아니라, 행위 자체를 이동시키는 것이라고 추천드렸습니다. 그러나 이것이 그 이야기의 끝이 아닙니다. 이번 글에서는 코드 반복이 야기시킬 수 있는 다른 문제를 탐구하려고 합니다. 마지막 예제에서 중첩된 루프는 로직이 잘못된 위치에 있었던 것이라고 제안드렸습니다. 새로 만든 hasName메소드에서 반복이 존재하는 것은 for 루프 또는 stream를 사용하여 구현한것과 관계없이 또다른 문제점을 제시합니다. 아마도 이것은 name 데이터들을 저장하는 올.. 2017. 9. 6.
Java SE 코드 성능 비교 Java SE 성능 비교 Spring환경에서 개발을 하고 있지만, Java 공부를 안할수는 없다. 여러 선택의 순간에 어떤 코드가 더 좋은지 안좋은지는 개인의 취향 혹은 팀의 코딩 컨벤션이 가장 중요하겠지만, 그럼에도 불구하고 동일한 조건이라면 더 좋은 코드는 분명히 존재한다고 생각한다. 그래서 큰 이슈는 아니지만 성능상 더 좋은 코드가 어떤 것인지 직접 테스트해보고 기록하기로 하였다. (뭐든 기본이 중요하다!!!) 아래 테스트들은 모두 성능만 고려하였다. 사내 규약 혹은 사수의 조언이 있다면 그걸 우선시 하는게 맞다. 그런게 없다면 아래 기준에 따라 코드 선택을 하는것도 나쁘지 않을것 같다. 모든 테스트는 Java 8을 기준으로 진행하였다. 사내 신규 프로젝트가 전부 8로 진행되기도 하였고, 조금 있으.. 2016. 11. 3.