jiseongkimu / java_test_1330

0 stars 0 forks source link

2020/09/23 API / CLASSPATH / abstract&interface #22

Open jiseongkimu opened 3 years ago

jiseongkimu commented 3 years ago

API

자바 시스템을 제어하기 위해서 자바에서 제공하는 명렁어들을 의미한다(System.out.prinln()) Java SE(JDK)를 설치하면 제공된다. java.lang.*의 클래스들도 자바에서 제공하는 API 중의 하나이다.

자바 애플리케이션을 만든다는 것은 결과적으로 자바에서 제공하는 패키지들을 부품으로 조립해서 사용자 정의 로직을 만드는 과정이라고 할 수 있다.

CLASS PATH

자바를 실행할 때 클래스의 위치를 지정하는 역할을 한다. 클래스가 여러 경로에 분산될 경우 유용하게 사용할 수 있다. 실행할 때 마다 클래스 패스를 지정하는 것이 귀찮기 때문에 우리는 시스템의 환경변수로 지정하는 것이 일반적이다.

abstract(추상 클래스)

실체 클래스의 공통적인 부분을 추출한 클래스, 실체성이 없고 구체적이지 않기 때문에 객체를 생성할 수 없고, 실체 클래스와 상속관계를 가진다.

Interface

극단적으로 동일한 목적 하에 동일한 기능을 수행하게끔 강제하고, 자바의 다형성을 극대화하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 사용한다. JAVA8부터 디폴트메소드, 정적메소드가 추가되었다.(디폴트메소드, 정적메소드를 통해, 구현 강제성 안에 유연함이 조금 늘었다고 생각하자)

Interface에선 4가지를 정의할 수 있다.

abstract vs interface