분류 전체보기251 [이것이 자바다] 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. [TDD] 테스트 코드 작성의 필요성과 작성 방법 테스트 코드를 작성하는 이유? 1. 문서화 역할 2. 코드에 결함을 발견하기 위함 3. 리팩토링 시 안정성 확보 4. 테스트 하기 쉬운 코드를 작성하다 보면 더 낮은 결합도를 가진 설계를 얻을 수 있음 TDD • Test Driven Development (테스트 주도 개발) • 프로덕션 코드보다 테스트 코드를 먼저 작성하는 개발 방법 • 기능 동작을 검증 (메서드 단위) BDD • Behavior Driven Development (행위 주도 개발) • 행위에 대한 테스트 코드를 작성하는 개발 방법 • 유저 시나리오 동작을 검증 (시나리오 단위) • 하나의 시나리오는 Given, When, Then 구조를 가짐 1. BDD의 정의 책임 관계자의 관점에서 보는 애플리케이션의 행위(동작) 중 가치있는 기능.. 2023. 3. 28. 이전 1 ··· 34 35 36 37 38 39 40 ··· 42 다음 반응형