final
로 필드 변수를 선언하면 생성자가 두개일 때 에러가 난다. 왜 그럴까?
public class A {
private final String string;
public A() {
this.string = "test";
}
public A(String string) {
this.string = string;
}
}
테스트 메소드에서 기본 생성자로 인스턴스를 만들 때, 왜 일반 메소드에서 필드에 선언해준 변수를 같이 선언해주지 않으면 에러가 나는걸까?
이번 미션들을 통해서 TDD(Test Driven Development)가 뭔지 알게 된 시간이었던 거 같다. 먼저 테스트 클래스를 먼저 작성하면서, 실제로 내가 어떤 것을 테스트해볼까? 라는 생각을 가지게 하면서 미리 클래스에 대한 그림이 그려지는 거 같다. 반대로 클래스를 먼저 설계한다면 어떤 느낌일까? TDD 로 했을 때 보다 조금 더 구현할 것들에 대해 명확히 할 수 있었을까?
미션을 하면서 TDD 로 했을 떄 중요한 점은 또 다른 예외사항이 없을까 생각해보는 것이라고 생각했다. 바로 테스트 케이스를 작성하면서 즉각적으로 클래스에 반영하는 이런게 좋은 것이라고 느꼈다.
enum에 대해서 배웠다. enum은 자바 5에서 나왔다. 자바 5에서 나왔다는 건 이전 버전에서 어떤 불편한 점이 있었기 때문이다. 그 불편한 점을 이해하고 enum을 어떻게 사용할 것인지 생각해보았다. 내용 정리
ArrayList A = new ArrayList();
와 List A = new ArrayList();
중에서 항상 고민하다가 PR 읽다가 그 부분이 나와서 어거스트에게 물어봤다. 어거스트는 업캐스팅에 대해서 공부해보면 된다고 했고 그러던 와중에, 제인의 PR에서 브라이언이 남긴 코멘트를 우연히 봤는데 마침 내가 궁금해했던 거에 대해 답변해주셨다! 대박!
오랜만에 골드 블로그에 갔다. 여전히 매일 열심히 하시는 모습에 나도 새벽 아침에 누워있다가 벌떡 일어나서 공부하는게 됐다.
이번 미션 많은 분들이 enum 으로 컬러를 관리한다. 그게 더 좋은가??
다른 팀원들 PR을 3시간 정도 돌아다니면서 코멘트 했다. 내가 잘 알지못해도 궁금한 점들도 코멘트 남기고 소통하는 거 자체가 재밌다. 그리고 코드 구현 중에 어떤 개념에 대해 알고싶긴한데 그렇게 중요다고 생각하지 않아서, 평소에 흘려보냈던 개념들도 좀 더 자세히 생각하게 되는 계기가 되었다.
음....자바의정석 한바퀴 돌면서 정리해볼까?
체스만들기. 미션3
루카스에 있는 자바 공부할 거리 공부하기
생활코딩 객체지향 파트 (클래스 패스, 패키지, API, abstarct, final, 인터페이스, 다형성, 예외1 문법, 예외2 예외던지기, 예외3 만들기, Object 클래스, 상수와 enum, 참조, 제네릭) 링크
굿굿 너무 웃기네요ㅋㅋㅋㅋ 큐가 pr에 남긴 코멘트 굿굿