JUnit5 이란 ? Java 개발자가 가장 많이 사용하는 테스팅 프레임워크로, JAVA 8 버전부터 사용 가능하며 테스트 주도 개발(TDD, Test Driven Development)을 위해 사용됩니다. 요구사항을 검증하는 테스트 케이스 작성 테스트 통과를 위한 코드 작성 이후 작성된 테스트 케이스 실행 테스트 케이스 오류가 나는 부분을 찾아 리팩토링하여 실제 개발 코드에 적용 JUnit 모듈 구성 JUnit 5는 크게 3개의 요소로 구성되어 있습니다. JUnit Platform 테스트를 발견하고 계획을 생성하고 결과를 보고하는 TestEngine 인터페이스를 정의합니다. 테스팅 프레임워크를 구동하기 위한 런처와 테스트 엔진을 위한 API를 제공 JUnit Jupiter Junit5 TestEngin..
Stream ➡ 기본형 Stream From To 변환 메서드 Stream IntStream LongStream DoubleStream mapToInt(ToIntFunction mapper) MapToLong(ToLongFunction mapper) MapToDouble(ToDoubleFunction mapper) 기본형 Stream ➡ Stream From To 변환 메서드 IntStream LongStream DoubleStream Stream Stream Stream boxed() Stream mapToObj(DoubleFunction mapper) 기본형 Stream ➡ 기본형 Stream From To 변환 메서드 IntStream LongStream DoubleStream LongStream ..
자바에서는 많은 양의 데이터를 저장하기 위해서 배열이나 컬렉션을 이용합니다. 이렇게 저장된 데이터에 접근하기 위해서는 반복문이나 반복자(iterator)를 사용하여 매번 새로운 코드를 작성해왔습니다. 하지만 이러한 방식으로 작성된 코드는 너무 길고 가독성도 떨어지며 코드의 재사용도 떨어집니다. 또 다른 문제는 데이터 소스마다 다른 방식으로 다뤄야한다는 점입니다. Collection이나 Iterator와 같은 인터페이스의 각 컬렉션 클래스에는 같은 기능의 메서드들이 중복해서 정의되어 있습니다. 예를 들면, List를 정렬할 때는 Collections.sort()를 사용하고, 배열을 정렬할 때는 Arrays.sort()를 사용한다는 점입니다. 이러한 문제를 극복하기 위해 나온 것이 바로 Stream입니다. ..
경험이 많이 없는 저는 대체 뭘 공부해야 하고 어떻게 준비하고 어떤 경험들을 해야 좋은회사에 들어갈 수 있는지에 대해 전혀 몰랐습니다. 그래서 여러 검색들을 통해 많은 사람들이 추천하는 책을 사서 실습해보고 최대한 github을 많이 이용하면서 새롭게 배운 지식들을 정리하고, 복습하며 독학하고 있었습니다. 공부하면서 글로는 이해가 안되는 개념들은 주로 영상을 통해 이해하는 편인데요. 그중 유튜브 테코톡을 자주 애용했었기 때문에 우아한테크코스가 무엇인지는 알고 있었고, 우아한테크코스에 대해 알아보기도 하였었습니다. 그 당시 알아봤을 때는 비전공자는 지원할 수 없는 영역의 교육인지 알았었는데, 이번 우아한테크코스 5기 일정이 나오게 되면서 보니 비전공자도 지원이 가능했었습니다! 그래서 우아한테크코스5기 백엔..
컬렉션 클래스들 타입 다음에 , , 등으로 붙여진 형식들을 많이 보셨을건데, 이게 바로 제네릭스입니다. 제네릭스란 클래스가 가질 타입을 미리 명시해줌으로써 제네릭스를 사용한 클래스의 객체가 형변환을 하지 않고 사용할 수 있도록 해줍니다. 하지만 만약 List list = new ArrayList(); 로 제네릭스를 명시했는데 이 list 객체에 Integer 타입을 넣게 된다면 컴파일 에러가 발생하므로 제네릭스를 정하면 그 제네릭스에 맞는 타입을 사용해야 합니다. 제네릭스의 장점 1. 타입의 안정성을 제공한다. 2. 타입체크와 형변환을 생략할 수 있으므로 코드가 간결해진다. 대표적인 제네릭스의 타입 타입 제네릭스는 Object로 모든 종류의 타입을 지정 가능 합니다. 타입 설명 Object Element..
HashSet과 HashMap의 차이점 HashSet과 HashMap을 공부하다보면 이런 의문이 들 것입니다. 비슷한거 같은데 대체 뭐가 다르지 ? 이번에 이 두 컬렉션 클래스들을 정리하면서 의문이 들었기에 이번 포스팅에서는 차이점을 비교해 보려 합니다. HashSet과 HashMap 비교 표 HashSet HashMap 구현 Set의 구현체 Map의 구현체 중복허용 여부 객체 자체를 데이터로 저장하기 때문에 중복 X key는 중복을 허용 X value는 중복을 허용한다. 데이터 저장 객체(Object)만 저장할 수 있다. 내부적으로 HashMap을 사용하기 때문에 삽입되는 객체(Key값)와 dummy 객체(Value 값), 삽입 연산 동안 총 두 개의 객체가 생성 데이터를 key-value 쌍 형식으로..