슈퍼클래스로 Duck 을 만들고 이 클래스를 확장해서 다른 종류의 오리를 만들어보자.모든 오리가 꽥꽥 소리를 낼 수 있고 헤엄을 칠 수 있으므로 슈퍼클래스로 작성한다. 모든 오리의 모양은 다르기 때문에 display() 메서드는 추상 메서드이다.
추상 클래스는 인스턴스화 될 수 없다. 그러나 서브 클래스(자식 클래스)가 될 수는 있다. 주로 서브클래스에서 구현해야만 하는 추상 메서드와 구현할 필요 없는 일반 메서드로 이루어진다.
스프링 프로젝트를 진행하면서 스프링에 대해서 잘 모른다고 늘 생각해왔다. 그래서 스프링의 대표적인 특징인 어노테이션을 10가지 정리해본다.
Über den eigenen Schatten springensich überwinden; etwas tun, was man sonst nie tun würde; über seine Möglichkeiten hinausgehenüberwindendurch eigene
자바를 싫어하는 사람들이 자바를 공격하는 이유 중 하나로 자바 언어의 장황함에 있다. DTO 같이 단순한 데이터 처리 객체만 하더라도 에러가 발생하기 쉬운 생성자, toString() 등의 메서드 들을 반복해서 작성(보일러플레이트)해야한다.
각자 다른 프로그래밍 방식을 가지고 있지만, 하나만 선택해서 프로그래밍하는 개념이 아니라 상황에 맞게 선택해서 사용
스프링 부트의 RestClient는 RESTful 웹 서비스에서 클라이언트를 쉽게 작성하고 호출할 수 있도록 지원하는 기능이다. 스프링부트는 내장된 RestTemplate과 WebClient를 제공한다.
스프링 애플리케이션에서는 객체의 생성과 관계설정, 사용, 제거 등의 작업을 앺프리케이션 코드 대신 독립된 컨테이너가 담당한다. 이를 컨테이너가 코드 대신 오브젝트에 대한 제어권을 갖고 있다고 해서 IoC라고 부른다.
JPA가 제공하는 기능은 크게 엔티티와 테이블을 매핑하는 설계 부분과 매핑한 엔티티를 실제 사용하는 부분으로 나눌 수 있다. 엔티티 매니저는 엔티티를 저장하고, 수정하고, 삭제하고, 조회하는 등 엔티티와 관련된 모든 일을 처리한다.
자바에서 예외처리는 개발자가 신경 쓰기 귀찮은 주제 중 하나다. 정상적인 결과와 흐름을 보여주는 코드를 만들기도 버거운데 예외상황까지 처리해야 한다는 사실은 부담스럽다. 그렇다보니 예외 관련한 코드는 엉망이거나 무성의해진다.
영어로 유창하게 말하고 쓰고 읽기 위해서는 많은 시간과 노력을 투자해야한다. 하지만 결국 영어로 말하고 쓰고 읽는 문장은 알파벳으로 이루어진 글자일 뿐이다.
컴퓨터가 처음 만들어진 시절, 컴퓨터는 너무 원시적인 나머지 0과 1만 이해할 수 있었다. 사실 아직까지도 0과 1만 알아들을 수 있다. 즉, 2진법만 알고 있다. 최초의 프로그래머들을 키보드는 물론 모니터도 없었다.