일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 객제지향
- ERWin
- web
- javascript
- html
- 테이블
- 객체지향프로그래밍
- 공부
- sql
- CSS
- 프로그래밍
- 데이터베이스
- Project
- 프로젝트
- 주말이다..
- Oracle
- 공부를열심히
- 객체지향
- squery
- DB
- orcle
- Java
- jsp
- UI
- 코딩
- 웹
- 자바
- 오라클
- 웹프로그래밍
- 객제지향프로그래밍
- Today
- Total
햄찌개
Java 14일차 추상클래스, 인터페이스 본문
18. 추상클래스(abstract)
- 미완성된 클래스
: 미완성된 메서드를 포함하고 있다.
- 추상메서드
: 미완성된 메서드이다.
: 메서드는 선언부와 구현부로 이루어져있지만 추상메서드는 구현부가 없다.
- 어떤 기능을 수행할 목적으로 만든것인지??
19. 인터페이스(interface)
- 일종의 추상클래스이지만 멤버변수로
- 작성방법
interface 인터페이스명{
public static final 변수타입 변수명 = 값;
public abstract 반환타입 메서드명(메게변수);
}
- 모든 변수는 public static final 이어야 한다. -> 생략 가능
- 모든 메서드는 public abstract 이어야한다. -> 생략가능
- 인터페이스의 상속
: 인터페이스는 클래스를 상속할 수 없다.
->클래스를 상속받으면 인터페이스가 아니게 된다.
: 인터페이스는 인터페이스를 다중상속할 수 있다.
- 인터페이스의 구현
: 자체로 객체를 생성할 수 없다.
: 자신의 정이된 추상메서드의 몸통을 만들어주는 클래스가 존재해야한다.
: 상속 -> extends 구현 -> implements
: 인터페이스의 일부분만 구현하였다면 해당클래스는 추상클래스가 된다.
: ~을 할수 있는 (~able)
: IMember => IMemberImpl
- 인터페이스의 장점
: 개발시간을 단축 시킬수 있다.
: 표준화가 가능하다.
: 서로 관계가 없는 클래스들에게 관계를 설정해 줄수 있다.
: 독립적인 프로그래밍이 가능하다.
- 인터페이스의 이해
: 클래스를 사용한 쪽(user)과 제공하는 쪽(provier)로 나눈다.
: 메서드를 사용하는 쪽에서는 선언부만 알면된다.
A -I -B (직접관계 -> 간접관계)
- 인터페이스 예제
public class InterTest {
public static void main(String[] args) {
}
}
class Unit2{
int x;
int y;
int currentHP;
}
class Fight extends Unit2 implements Fightable{
@Override
public void move(int x, int y) {
}
@Override
public void attack(Unit2 u) {
}
}
interface Fightable extends Movable,Attackable {
}
interface Movable{
void move(int x, int y);
}
interface Attackable{
void attack(Unit2 u);
}
'초급 JAVA' 카테고리의 다른 글
Java 16일차 자바 주요 클래스 (0) | 2020.09.02 |
---|---|
Java 15일차 예외 처리 (0) | 2020.09.01 |
Java 13일차 객체지향의 다형성 (0) | 2020.08.28 |
Java 12일차 객체지향의 제어자 (0) | 2020.08.27 |
Java 11일차 객체지향의 재사용 (0) | 2020.08.27 |