has one
관계를 설정하기 위한 association
has many
관계를 설정하기 위한 collection
JUnit 테스트에서 Data의 검증을 위해 assertThat() 메소드를 사용한다.
하지만 assertThat() 메소드는 Exception을 테스트하기에 적절하지 않다.
이 경우엔 다른 방법으로 테스트를 진행해야한다.
Exception을 테스트하기 좋은 방법 중 하나는
Test 애노테이션의 expected 필드를 사용하는 것이다.
사용법은 expected에 기대하는 예외 클래스를 넣어주기만 하면 된다.
Step 1.
다음 조건의 클래스를 읽어 온다.
Annotation : @Test 애노테이션 존재 O
Access Level : public
Return Type : void
Parameter : Parameter 존재 X
Step 2.
Step 3.
Step 4.
Step 5.
Step 6.
Step 7.
언어별 차이를 비교하는 글을 보다 흥미로운 부분이 있어서 가장 흥미로웠던 부분만 발췌를 해본다.
상속을 통해 슈퍼클래스의 기능을 확장할 때 사용하는 가장 대표적인 방법이다.
변하지 않는 기능은 슈퍼클래스에 만들어두고
자주 변경되며 확장할 기능은 서브클래스에서 만들도록 한다.
슈퍼클래스에서는 미리 추상 메소드 또는 오버라이드 가능한 메소드를 정의해두고
이를 활용해 코드의 기본 알고리즘을 담고 있는 템플릿 메소드를 만든다.
슈퍼클래스에서 디폴트 기능을 정의해두거나 비워뒀다가
서브클래스에서 선택적으로 오버라이드 할 수 있도록 만들어둔 메소드를 훅(hook) 메소드라고 한다.
서브클래스에서는 추상 메소드를 구현하거나,
훅 메소드를 오버라이드하는 방법을 이용해 기능의 일부를 확장한다.