[프로그래밍] 자바 추상클래스와 인터페이스 차이점
페이지 정보
작성일 23-03-09 00:09
본문
Download : [프로그래밍] 자바 추상클래스와 인터.hwp
클래스안의 메소드가 단 하나라도 추상메소드가 있다면 그 클래스 앞에는 반드시 abstract 클래스명으로 표기되어야 하며 abstract와 final 키워드를 동시에 표기할수 없다. 인터페이스는 final을 붙일수 없고 인터페이스 변수들은 static이어야만 한다. 어떤 클래스가 인터페이스를 상속받을때는(구현할때는) implements를 쓴다. 클래스안의 메소드가 단 하나라도 추상메소드가 있다면 그 클래스 앞에는 반드시 abstract 클래스명으로 표기되어야 하며 abstract와 final 키워드를 동시에 표기할수 없다. 추상클래스는 일반적인 메소드도 있을수 있고 추상메소드가 있을수도 있다. 추상클래스는 일반변수들을 가질수 있다. 인터페이스의 접근지정자는 아예 없거나 public이거나 아님 abstract만 가능하다. 그렇다면 추상메소드는 무엇인가? 추상메소드는 안이 아직 구현되어 있지 않은 abstract로 정이된 메소드를 말한다.
Download : [프로그래밍] 자바 추상클래스와 인터.hwp( 97 )
추가하자면 추상클래스는 인터페이스보다 속도가 빠르다. 물론 클래스가 다른 클래스를 상속하면서 인터페이스를 구현하는 것도 가능하다. 인터페이스는 인스턴스를 만들수 없지만 인터페이스를 구현한 클래스를 통하면 인스턴스화가 가능하다. 인터페이스는 하나 이상의 인터페이스들을 상속할수 있는데 여러개일때는 콤마(,)를 사용하며 이때는 클래스에서 상속받는게 아니라 인터페이스에서 상속받으니 즉 내용이 없는 메소드들을 그대로 두는것이니 구현이 아니라 인터페이스간의 상속이므로 일반 클래스끼리 상속할때처럼 extends를 쓴다. 끝에 세미콜론 붙이는거 까먹지 않아야하고 말이다. 한마디로 인터페이스는 일반변수들을 가질수 없다. 그렇다면 추상메소드는 무엇인가? 추상메소드는 안이 아직 구현되어 있지 않은 abstract로 정의된 메소드를 말한다. 추상클래스는 일반적인 메소드도 있을수 있고 추상메소드가 있을수도 있따 추상클래스는 일반변수들을 가질수 있따
인터페이스는 안이 비어있는 메소드들의 형태들만 써놓은 것이며 상속하는 클래스들에서 해당 메소드들의 내용을 구현해서 가져야하는 메소드들의 집합이라 할수있다아 따라서 인터페이스에 새로운 메소드를 추가한다고 하고 그 아래에 인터페이스로부터 상속되는 클래스가 있다면 새로운 메소드에 대한 내용을 반드시 구현해야한다. 이걸 코드상으로 설명하자면 메소드의 제목(리턴타입,메소드명,매개변수)은 있는데 { }안에 내용이 없는 형태이고 물론 { } 이런 괄호도 없는 형태를 말한다. 인터페이스는 생성자를 가질수 없다. 추상메소드가 뭐냐면 아직 구현이 되지않은 다시 말해서 아직 구체적으로 표현이 되지않은 메소드를 말한다.
레포트 > 공학,기술계열
프로그래밍,자바 추상클래스,인터페이스 차이점
설명
[프로그래밍] 자바 추상클래스와 인터페이스 차이점
추상클래스를 설명하자면 없거나 하나 이상의 추상메소드를 가지고 있는 것이 추상클래스다. 예를 들자면 인터페이스명 ab = new 클래스명( ) 이런 형태가 될것이다. 인터페이스안의 모든 메소드들은 추상메소드이다.
순서
![[프로그래밍] 자바 추상클래스와 인터-9075_01.jpg](https://sales.happyreport.co.kr/prev/201312/%5B%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%5D%20%EC%9E%90%EB%B0%94%20%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80%20%EC%9D%B8%ED%84%B0-9075_01.jpg)
![[프로그래밍] 자바 추상클래스와 인터-9075_02_.jpg](https://sales.happyreport.co.kr/prev/201312/%5B%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%5D%20%EC%9E%90%EB%B0%94%20%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80%20%EC%9D%B8%ED%84%B0-9075_02_.jpg)
![[프로그래밍] 자바 추상클래스와 인터-9075_03_.jpg](https://sales.happyreport.co.kr/prev/201312/%5B%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%5D%20%EC%9E%90%EB%B0%94%20%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80%20%EC%9D%B8%ED%84%B0-9075_03_.jpg)
![[프로그래밍] 자바 추상클래스와 인터-9075_04_.jpg](https://sales.happyreport.co.kr/prev/201312/%5B%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%5D%20%EC%9E%90%EB%B0%94%20%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80%20%EC%9D%B8%ED%84%B0-9075_04_.jpg)

다. 그럴때는 extends 쓰고 implements를 순서대로 쓰면 된다된다.
추상클래스를 설명(說明)하자면 없거나 하나 이상의 추상메소드를 가지고 있는 것이 추상클래스다. 왜냐하면 인터페이스는 관련 메소드들을 찾기 위해 부가적인 일들을 더 처리하기 때문이다 추상클래스는 일반변수(가능)+일반메소드(가능)+추상메소드 형태이고 인터페이스는 상수+추상메소드만 가능하고 일반변수나 일반메소드를 쓰는 것은 불가능하다.