본문 바로가기

인터페이스

자바 인터페이스 - Do it! 자바프로그래밍기초 인터페이스는 클래스나 프로그램이 제공하는 기능을 명시적으로 선언하는 역할을 하고, 추상 메서드와 상수로만 이루어져 있다. 인터페이스 역할 인터페이스는 메서드의 선언부만 있는데 왜 사용할까? 인터페이스는 클라이언트 프로그램에 어떤 메서드를 제공하는지 미리 알려주는 명세 또는 약속의 역할을 한다. 예를 들어, AA 인터페이스를 구현한 A 클래스가 있고 이 클래스를 사용하는 B프로그램이 있다고 가정하자. AA 인터페이스에는 구현할 추상 메서드가 모두 선언되어 있고, 어떤 매개변수를 사용하고 어떤 자료형 값이 반환되는지가 선언되어 있을 것이다. 그렇다면 B프로그램에서는 A 클래스의 구현 코드를 모두 살펴보지 않고 AA 인터페이스의 선언부만 봐도 A 클래스를 어떻게 사용할 지 알 수 있는 것이다. 그리고 B 프로.. 더보기
자바 템플릿 메서드, final - Do it! 자바프로그래밍기초 템플릿 메서드는 추상클래스를 활용한 예이다. public abstract class Car { public abstract void drive(); public abstract void stop(); public void startCar() { System.out.println("시동 켬"); } public void turnOff() { System.out.println("시동 끔"); } final public void run() { startCar(); drive(); stop(); turnOff(); } } public class AICar extends Car { @Override public void drive() { System.out.println("자율 주행"); System.out.pr.. 더보기
자바 추상클래스 - Do it! 자바프로그래밍기초 '추상클래스'란 '추상메서드'를 포함하는 클래스입니다. 그럼 추상메서드가 뭐냐? 추상메서드는 구현 코드(함수 몸체)가 없는 메서드입니다. 중괄호 {}로 감싼 부분을 함수의 구현부라고 하고, 이 부분이 없는 함수를 추상함수라고 합니다. 그리고 이 추상함수를 포함하는 클래스를 추상클래스라고 합니다. public abstract int add(int x, int y); 위 코드처럼 선언만 하며, abstract 예약어를 사용합니다. public abstract class Computer { public abstract void display(); public abstract void typing(); public void turnOn() { System.out.println("전원을 켭니다."); } publ.. 더보기