사칙연산 계산기 구현 package org.example; import org.example.calculate.PositiveNumber; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import java.util.stream.Stream; import static org.assertj.core.api.Assertions.assertT..
객체지향이란? 먼저 객체지향에 정답이 있다고 생각하지 않는다 그러하여 나의 견해에 대해 설명하겠다. 객체 지향 4가지 특성 1 - 추상화 (Abstraction) : 불필요한 부분을 제거함으로써 필요한 핵심만 나타낸 것을 추상화라고 할 수 있다. 흔히 일반화, 단순화라고도 하고, 이를 사용하는 목적은 복잡한 특징을 제거하는 것이다. 2 - 다형성 (Polymorphism) : 말 그대로 다양한 형태를 가지는 것을 다향성이라고 결론을 내 견해를 가지고있다. 쉽게 말해서 하나의 타입으로 여러 종류의 객체를 참조하는 것. 3 - 캡슐화 (Encapsulation) : 객체 내부의 세부사항을 외부로부터 감추는 것을 캡슐화라고 견해를 가지고 있다. 목적으로는 인터페이스만 공개해서 변경하기 쉬운 코드를 만들기 위함..
자바 단위 테스팅 프레임워크 JUnit5 - Java 진영에서 가장 많이 사용하는 테스팅 프레임워크 중에 하나 AssertJ - 테스트 코드 가독성을 높여주는 자바 라이브러리 테스트 코드를 작성하는 이유? 1. 문서화 역활 2. 코드에 결함을 발견한기 위함 3. 리팩토링 시 안정성 확보 4. 테스트 하기 쉬운 코드를 작성하다 보면 더 낮은 결합도를 가진 설계를 얻을 수 있음 TDD 1. Test Driven Development (테스트 주도 개발) 2. 프로덕션 코드보다 테스트 코드를 먼저 작성하는 개발 방법 3.TFD(Test First Development) + 리팩토링 4.기능 동작을 검증 ( 메소드 단위 ) BDD 1.Behavior Driven Development (행위 주도 개발) 2.시나..
자료형 변수; int : 정수 한개 int a; Book : 책 한 권 Book b; String : 문자열 한 개 String s; 자료형 [ ] 변수; int [ ] : 정수 여러 개 int [ ] a; Book [ ] : 책 여러 권 Book [ ] : b; String [ ] : 문자열 여러 개 String [ ] s; 문제점 : 개수가 늘어나면 불편하다 데이터 처리(반복 문 사용 불가) 데이터 이동 불편(메서드로) 해결 방법 : 1차원 배열 = [ ] 2차원 배열 = [ ] [ ] - 동일한 데이터를 여러 개 저장할 수 있는 구조 ( 덩어리, 바구니, 객체)를 자바에서 배열 (array) 이라고 한다. 배열을 생성하는 방법 : new int [3] ; 동일한 연속적인 구조 동일한 변수들의 집합 ..