Junit5의 기본적인 메소드들을 학습하는데, assertIterableEquals과 assertLinesMatch의 차이점이 궁금하였다. 먼저 Junit5 공식 문서를 통해 assertIterableEquals과 assertLinesMatch은 다음과 같음을 확인할 수 있었다. (1) assertIterableEquals() assertIterableEquals(Iterable expected, Iterable actual) Asserts that expected and actual iterables are deeply equal. 두 객체 Iterable(Iterable 인터페이스를 구현한 클래스)가 deeply equal한지 (내용 비교) 비교하는 것이다. 이때 두 iterable은 같은 순서로 동..
라이브러리 (Library) : 책. 다른 사람이 미리 만들어 놓은 것을 가져다 쓰기만 하면 됨. 기능만 제공하는 것. 프레임워크 (Framework) : 라이브러리 + 정형화된 체계적인 프로그래밍 방식. 표준화된 프로그래밍 방식. 생산성과 유지보수에 뛰어나다. 컬렉션 프레임워크는 다수의 데이터를 다루기 위해 다양하고 풍부한 클래스들을 제공한다. 1. 컬렉션 프레임워크의 핵심 인터페이스 (0) Collection 인터페이스 : 컬렉션 클래스에 저장된 데이터를 읽고 추가하고 삭제하는 등 컬렉션 다루는데 가장 기본적인 메소드 정의. (1) Collection 인터페이스의 List 인터페이스 : List와 Set을 구현한 클래스들은 서로 많은 공통 부분이 있어서 공통 부분을 다시 뽑아 Collection 인터..
람다식과 Optional, Stream은 정말 한 세트같다는 느낌이 든다. 그래서 현재 람다식 공부를 깊게 하지 않은 나에게, 람다식을 필수적으로 공부해서 잘 사용할 수 있게 만들어야 겠다는 생각이 든다. 먼저 Optional 클래스가 Java 8 버전부터 등장했는데 왜 Optional이라는 클래스가 추가 되었으며, 이 클래스가 하는 역할이 무엇이라서 어떤 경우에 쓸수 있는지를 알아보고자 한다. 1. Optional 클래스란 Optional이라는 의미에서도 알수 있다싶이, "존재 할수도 있지만 안 할 수도 있는 객체". 즉 " Null이 될수도 있는 객체"를 감싸고 있는 Wrapper 클래스를 말한다. Optional 클래스를 살펴 본다면, Optional는 제네릭 클래스로 T 타입의 객체를 감싸는 래퍼..
1. Stream이란 스트림이란 영어의 뜻처럼 데이터의 연속적인 흐름을 말한다. 스트림이 JDK 1.8부터 등장하여 사용 방법이 다 다른 다양한 Collection Framework들을 표준화 하여 다루는것이 가능하게 해주었다. 스트림은 데이터 소스를 표준화된 방법으로 다루기 위해서 등장 하였고, 안에는 데이터를 다루는데 자주 사용되는 메소드들을 정의해 놓았다. 데이터 소스를 추상화 하여 데이터 소스가 무엇이던 간에 같은 방식으로 다룰 수 있게 되었고, 코드의 재사용성이 높아지는 결과를 가져오게 되었다. 예를들어, String[] strArr = {"Apple", "Banana", "Orange"}; List strList = Arrays.asList(strArr); //출력 Arrays.sort(str..
이 글은 백기선의 자바 라이브 스터디 유튜브 영상과 스터디원들의 정리글을 참고하여 정리 한 글입니다. https://github.com/whiteship/live-study/issues/11 1. 목표 자바의 열거형에 대해 학습하세요. 2. 학습할 것 (필수) enum을 정의하는 방법 enum이 제공하는 메소드 java.lang.Enum EnumSet 3. Enum이란 무엇인가 Enum은 열거형이라고 불리며, 서로다른 상수를 편리하게 선언하기 위한 것으로 상수를 여러 개 정의할 때 사용한다. Enum은 여러 상수를 정의한 후, 정의된 것 이외의 값은 허용하지 않는다. 일단 enum을 왜쓸까? 상수를 편하게 관리하기 위해서 public static final을 통해 전역변수로서 상수를 설정할 수 있는데 어..
(1) JVM이란 무엇인가 JVM(Java Virtual Machine)이란 자바 바이트코드를 실행할 수 있는 주체로서 java program을 실행하기 위한 필수적인 rumtime 환경을 제공한다. Java source code를 compile해 bytecode로 전환 후 그것을 JVM에서 Interpret하여 실행한다. "Write once, run anywhere" 특징이 있다. java class file이 하나의 execution platform으로 이동될 수 있다. 예를들어 OS가 다른 macOS에서 개발된 Java program의 class file이 linux나 window에서 옮겨져 실행될수 있다는 말이다. (※ 주의 : Java가 OS에 독립적. JVM은 OS에 의존적이다) .java ..
- Total
- Today
- Yesterday