💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다.
☁️ 내용정리
JDK에는 엄청나게 많은 클래스와 메서드가 포함되어 있다. 우리는 API 문서를 통해 클래스와 메서드의 명세를 확인할 수 있다.
Concrete?
자바 문서를 보면 Concrete
라는 키워드가 자주 보인다.
new 키워드를 사용하여 인스턴스를 만드는 클래스를 Concrete(구상) 클래스라고 한다.
abstaract class를 제외한 모든 클래스는 Concrete class라고 생각하면 될 것 같다.
Concrete Method란 implement 혹은 abstaract method를 구현한 혹은 Override한 메서드란 의미이다.
☁️ 내 생각
Deprecated?
deprecated
란 더 이상 사용하지 않는다는 의미이다.
더 이상 사용되지 않는다면 삭제하면 되는 거 아닌가라고 생각을 했었다.
deprecated 메서드를 남겨놓는 이유는 하위 호환성
때문이다.
만약 내 라이브러리가 version 1.0 에서 a라는 메서드를 public으로 선언하여 배포했다.
많은 사람들이 내 라이브러리를 import하여 a라는 메서드를 자신들의 프로그램의 로직에 추가하여 사용했다.
나는 a라는 메서드는 프로그램에 오류를 발생시킬 수 있는 가능성이 있다는 것을 발견하고, a메서드를 version 1.1에서 삭제시켜버렸다.
많은 사람들이 내 라이브러리의 latest 버전으로 업그레이드하여 프로그램을 실행시켰는데? a 메서드를 포함한 모든 프로그램이 정상적으로 동작하지 않는 문제가 생겨버린다.
이러한 이유 때문에 더 이상 사용되지 않는 메서드를 deprecated로 선언하고 계속 남겨놓는 것이다.
deprecated된 기능을 적절하게 삭제하려면 특정 기간의 버전까지 해당 메서드를 남겨놓겠다고 알려준 뒤 삭제하는 것이 좋아보인다.
'JAVA > 자바의 신' 카테고리의 다른 글
13장. 인터페이스와 추상클래스, enum (0) | 2024.01.05 |
---|---|
12장. 모든 클래스의 부모 클래스는 Object에요 (0) | 2024.01.05 |
10장. 자바는 상속이라는 것이 있어요 (0) | 2024.01.05 |
9장. 자바를 배우면 패키지와 접근 제어자는 꼭 알아야 해요 (0) | 2024.01.05 |
8장. 참조 자료형에 대해서 자세히 알아봅시다. (1) | 2024.01.05 |