본문 바로가기

Web Technologies 🖥️/java11

람다(Lambda)란 무엇인가 (feat... 람다식) - JAVA "람다(lambda)" 수학과 논리학에서 비롯된 용어로 일반적으로 익명 함수를 의미한다 람다의 기본 개념 1. 익명성 람다는 이름이 없고 구현체만 제공하는 함수이다 이로 인해 간결성이 증가되고 단일 사용 목적을 가진 함수를 작성하기에 간편한 이점이 있다 주로 간단한 연산이나 다른 함수에 대한 인자 이벤트 헨들러 등에 사용된다 2. 클로저 람다는 정의될 때 주변 컨텍스트의 변수를 기억하며 정의된 외부 범위의 변수를 캡처하고 람다가 실행될 때 사용할 수 있는 특성이 존재한다 클러저를 통해 더욱 유연하고 표현력이 풍부한 프로그래밍이 가능하다 3. 간결한 정의 람다는 함수의 본문을 매우 간결하게 표현하기에 가독성을 향상시키고 복잡한 로직을 간단하게 표현할 수 있다 4. 퍼스트 클래스 시민 퍼스트 클래스 시민이란.. 2024. 1. 21.
제네릭(Generic)을 써보고 싶어요 - JAVA 아래 코드가 이해되시나요? 이해가 안 간다면 공부해 봅시다 "제네릭" public class Generic { private T content; public void setGeneric(T content) { this.content = content; } public T getGeneric() { return content; } public static void main(String[] args) { Generic genericForStr = new Generic(); genericForStr.setGeneric("Hello World"); Generic genericForInt = new Generic(); genericForInt.setGeneric(123456); System.out.println(.. 2024. 1. 20.
Java 로 테스트 코드를 작성하시나요? 그렇다면 "JUnit" 저번 시간에는 Test Code 가무엇인지 살펴보았으니,(Test Code 에 대해서 알아보러 가기) 이번 시간에는 java 에서 사용되는가장 대표적인 테스트 프레임워크인JUnit 에 대해서 살펴보겠습니다 JUnit 의 핵심 개념테스트 케이스JUnit 에서 각 테스트는테스트 케이스 클래스 내부에 정의되고보통 테스트할 클래스나 컴포넌트와동일한 이름으로 작성하며, 테스트 메소드를 포함한다(JUnit 4 이후부터는 TestCase 를 상속하지 않고, 단순한 Java 클래스로 작성해도 된다) @Test 어노테이션JUnit 4 이상을 사용하여 단순한 Java 클래스로 작성할 경우@Test 어노테이션을 사용하게 된다해당 어노테이션이 붙은 메소드의 경우, 테스트 메소드로 인식되고 실행된다 AssertJUnit 에서 .. 2024. 1. 19.
List 의 사이즈 및 null 체크를 하고 싶다고? - JAVA List 를 이용하여 데이터를 다룰 때 에러 처리 및 신규 생성, 기타 등등 상황들에서 사이즈를 체크하거나 null 여부를 체크해야 하는 상황들이 발생하는데 이때 어떤 함수나 라이브러리를 사용하는 것이 좋을까요? 이번 시간에 알아보도록 하겠습니다 Collection Interface 를 상속받는 List Interface 는 순서가 있는 Collection 을 나타낸다 List Interface 는 요소들을 특정 순서대로 유지하고, 중복된 요소들의 존재를 허용한다 size() int 타입을 반환하는 메소드로 컬렉션의 정확한 크기를 알 수 있다는 장점이 존재한다 하지만 단순히 컬렉션이 비어 있는지 체크하고 싶은 경우 isEmpty() 보다 미세하게 더 많은 계산을 수행할 수 있다 List Interface.. 2023. 12. 29.
테스트 코드(JUnit)에서 모의 객체가 필요할 땐? "Mockito" Mockito 란? 자바 기반의 모킹 프레임워크이며, 실제 의존성을 모의 객체로 대체하여 유연하고 독립적인 테스트를 가능하도록 한다 모킹(Mocking)이란? 테스트 코드 외부에 있는 의존성들을 대체하기 위해 사용되는 가짜 객체(Mock Objects)를 생성하는 기술 (테스트 코드에 대한 설명 보러 가기) Mockito 의 주요 기능 #1 인자 매처 메소드를 특정 타입의 인자나 조건을 만족할 때만 지정한 값을 반환하도록 설정하여 다양한 입력 값에 대한 메소드의 동작을 검증할 수 있다 #2 행동의 검증 메소드가 정상적으로 호출되었는지, 어떤 매개변수로 호출되었는지, 호출 횟수는 몇 번인지 검증하여 DB 에 저장하는 로직을 검증할 수 있다 #3 부분적인 모의 복잡한 서비스 객체에서 특정 메소드만 모의하여 .. 2023. 12. 26.
equals() 랑 "==" 랑 똑같은 거 아니였어? - JAVA String 변수를 선언하는 방법이 두 가지가 있다는 사실을 아시나요? 흔히(?) 사용한다고 할 수 있는 리터럴을 이용한 방식 String str = "string"; 그리고 new 연산자를 이용한 방식 String str = new String("string"); 두 방식에는 명백한 차이점이 존재한다 new 연산자를 사용하여 선언할 경우 Heap 영역에 존재하게 되고, 리터럴을 사용하여 선언할 경우 내부적으로 String 의 intern() 메소드가 호출되고 해당 문자열이 string constant pool 에 존재하는지 확인하고 존재하면 해당 주소값을 반환하고 존재하지 않는다면 string constant pool 에 넣고 새로운 주소 값을 반환한다 기본적인 String 생성 방식에 대해서 알아봤으.. 2023. 12. 17.
728x90
반응형