- 화살표 연산자(->), 람다
- 3항 연산자
- (optional) Java 13. switch 연산자
- JUnit 5 학습, 실습
- 자료구조 구현
화살표 연산자(->), 람다
-
화살표 연산자(->)
람다 표현식이라고도 하며 () -> {}의 형태를 가지고 있으며, 매개변수를 받아 함수를 실행한다. -
람다
메소드를 하나의 식으로 표현한 것으로 익명메소드(함수)생성하는 문법이라고 할 수 있다.
람다 표현식은 메소드를 하나의 식으로 표현한 것으로 메소드를 람다 표현식으로 표현하면, 클래스를 작성하고 객체를 생성하지 않아도 메소드를 사용할 수 있다.
// 메소드
// 람다 표현식
(매개변수) -> {실행문}의 형태를 가지고 있으며, 매개변수를 받아 메소드(함수)를 실행한다.
매개변수가 하나라면 () 생략 가능하다.
-> 타입은 타입추론으로 생략 가능하다.위에 람다 표현식을 익명 클래스로 바꾸면 밑에 나와있는 것처럼 바꿀 수 있다.
람다의 장단점가독성이 좋아짐
병렬 프로그래밍에 유리
재사용이 불가능
디버깅이 까다로움
재귀를 만드는데는 힘듦
3항 연산자
(조건) ? (조건이 true일 때 실행) : (조건이 false일 때 실행)
의 형태이며, if조건문 대신 3항 연산자를 사해 코드를 짧게 할 수 있다.
Java 13. switch 연산자
switch/case문을 좀 더 간결하게 쓸 수 있어졌다.
기존의 switch 문에서 콜론(:)을 화살표로 변경하여 사용할 수 있고 break문을 생략할 수 있다.
식으로 사용될 수 있어 바로 변수로 할당할 수 있다.
break로 반환하는 문법이 Java13부터 yield(산출/생산하다)로 변경되었다.
JUnit 5 학습, 실습
- JUnit5란 JUnit Platform과 JUnit Jupiter, Junit Vintage 결합한 형태로 테스팅 기반 프레임워크이다.
-JUnit Platform : 테스트를 실행해주는 런처와 TestEngine API를 제공함
- Jupiter : TestEngine API 구현체로 JUnit5에서 제공함
- Vintage : TestEngine API 구현체로 JUnit3, 4에서 제공함
-
JUnit5 어노테이션
@Test : 테스트 method임을 선언
@ParameterizedTest : 매개변수를 받는 테스트 작성할 수 있다.
@RepeatedTest : 반복되는 테스트를 할 수 있다.
@BeforeEach : 모든 테스트 실행 전에 실행할 테스트에 사용함
@AfterEach : 모든 테스트 실행 후에 실행한 테스트에 사용 -
테스트 클래스
하나 이상의 테스트 메소드를 포함하는 최상위 클래스, static 멤버 클래스 또는 중첩 클래스이어야 한다. 또한, 테스트 클래스는 추상 클래스로 정의되면 안 되며, 단일 생성자만 가져야 한다. -
테스트 메소드는 ‘@Test, @RepeatedTest, @ParameterizedTest, @TestFactory, @TestTemplate’ 중 하나의 어노테이션으로 선언된 메소드를 말한다.
-
생명 주기 메소드는 ‘@BeforeAll, @AfterAll, @BeforeEach, @AfterEach’ 중 하나의 어노테이션으로 선언된 메소드를 말한다.
-
테스트 메소드와 생명 주기 메소드는 모두 추상 메소드로 정의되면 안 되며, 값을 반환해서도 안 된다. 그리고 두 메소드는 non-static인 인스턴스 메소드이어야 한다.
자료구조 구현
'Java' 카테고리의 다른 글
Queue (0) | 2023.10.10 |
---|---|
ListNode를 사용한 Stack (0) | 2023.10.10 |
Stack (0) | 2023.10.10 |
LinkedList (0) | 2023.10.10 |
익명메소드(함수) (0) | 2023.10.09 |