본문 바로가기
반응형

분류 전체보기240

[이것이 자바다] chapter.14 확인 문제 1. 람다식에 대한 설명으로 틀린 것은 무엇입니까? 람다식은 함수적 인터페이스의 익명 구현 객체를 생성한다. 매개 변수가 없을 경우 ()->{...} 형태로 작성한다. {x, y} -> {return x+y;}는 (x, y)->x+y로 바꿀 수 있다. @FunctionalInterface가 기술된 인터페이스만 람다식으로 표현이 가능하다. 2. 메소드 참조에 대한 설명으로 틀린 것은 무엇입니까? 메소드 참조는 함수적 인터페이스의 익명 구현 객체를 생성한다. 인스턴스 메소드는 "참조변수::메소드"로 기술한다. 정적 메소드는 "클래스::메소드"로 기술한다. 생성자 참조인 "클래스::new"는 매개 변수가 없는 디폴트 생성자만 호출한다. 3. 잘못 작성된 람다식은 무엇입니까? a -> a+3 a,b -> a*b.. 2023. 4. 3.
[이것이 자바다] chapter.13 확인 문제 1. 제네릭에 대한 설명으로 틀린 것은 무엇입니까? 컴파일 시 강한 타입 체크를 할 수 있다. 타입 변환(casting)을 제거한다. 제네릭 타입은 타입 파라미터를 가지는 제네릭 클래스와 인터페이스를 말한다. 제네릭 메소드는 리턴 타입으로 타입 파라미터를 가질 수 없다. 2. ContainerExample 클래스의 main() 메소드는 Container 제네릭 타입을 사용하고 있습니다. main() 메소드에서 사용하는 방법을 참고해서 Container 제네릭 타입을 선언해보세요. package org.chapter13; import java.io.PrintWriter; public class ContainerExample { public static void main(String[] args) { Con.. 2023. 4. 3.
[이것이 자바다] chapter.12 확인 문제 1. 스레드에 대한 설명 중 틀린 것은 무엇입니까? 자바 애플리케이션은 메인(main) 스레드가 main()메소드를 실행시킨다. 작업 스레드 클래스는 Thread 클래스를 상속해서 만들 수 있다. Runnable 객체는 스레드가 실행해야 할 코드를 가지고 있는 객체라고 볼 수 있다. 스레드 실행을 시작하려면 run()메소드를 호출해야 한다. 2. 동영상과 음악을 재생하기 위해 두 가지 스레드를 실행하려고 합니다. 비어 있는 부분에 적당한 코드를 넣어보세요. package org.chapter12; public class ThreadExample { public static void main(String[] args) { Thread thread1 = new MovieThread(); thread1.sta.. 2023. 3. 31.
[AssertJ] junit과 함께 사용되는 AssertJ 정리 테스트 대상 지정 assertThat(테스트 타겟).메소드1().메소드2().메소드3(); 문자열 테스트 isNotEmpty() : 비어있지 않고 contains("문자(열)") : 해당 "문자(열)"을 포함 doesNotContains("문자(열)") : 해당 "문자(열)" 미포함 startWith("문자(열)") : 해당 "문자(열)" 로 시작 endsWith("문자") : 해당 "문자"로 끝남 여러 필드를 검사하고 싶을 경우 import static org.assertj.core.api.Assertions.tuple; // extracting name, age and and race.name nested property assertThat(fellowshipOfTheRing).extracting(".. 2023. 3. 31.
[JAVA 개념 정리] 객체지향(OOP)이란? 객체지향의 개념 객체지향 프로그래밍(OOP)이란, 프로그램을 상태(state)와 행위(behave)로 이루어진 객체라는 기본 단위로 나누고, 이 객체들 간의 상호작용을 통해 프로그램을 설계하고 개발하는 것이다. * OOP : Object Oriented Programming 객체지향 프로그래밍 특징 4가지 추상화 (Abstraction) - 복잡성을 낮추기 위해 캡슐화 (Encapsulation) - 객체 내부의 상황을 외부로부터 보호 (인터페이스만 변경하면 수정 가능하도록) 다형성 (Polymorphism) - 하나의 타입으로 여러 객체를 참조 상속 (Inheritance) - 부모로부터 물려받는 것 객체지향 설계 원칙 5가지 (SOLID) SRP: 단일책임의 원칙 (Single Responsibili.. 2023. 3. 30.
[TDD] @ParameterizedTest 사용하기 @ParameterizedTest 한 개의 메소드에 대해 여러 개의 테스트를 수행해야 하는 경우에 사용하는 어노테이션 @Test 대신 @ParameterizedTest 로 적는다. arguments를 활용해 테스트를 여러 번 수행할 수 있다. 사칙 연산 계산기 테스트 코드 작성 예시 1. 의존성 추가 testImplementation 'org.junit.jupiter:junit-jupiter-params:5.8.2' 2. ENUM 클래스 작성 package org.example; import java.util.Arrays; public enum ArithmeticOperator { ADDITION("+") { @Override public int arithmeticCalculate(int operand1.. 2023. 3. 29.
반응형