일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- JSON형식의 response
- xml
- GET방식
- sendRedirect
- CONTINUE
- webserver #WAS #ServerApp
- 김영한
- https://www.inflearn.com/course/lecture?courseslug=%ea%b9%80%ec%98%81%ed%95%9c%ec%9d%98-%ec%8b%a4%ec%a0%84-%ec%9e%90%eb%b0%94-%ea%b8%b0%eb%b3%b8%ed%8e%b8&unitid=194709&category=questiondetail&tab=community&q=1314387
- Forwarding
- 피그마
- Break
- POST방식
- 화면정의서
- 요구사항정의서
- WAS
- 톰캣
- https://www.inflearn.com/course/lecture?courseslug=%ea%b9%80%ec%98%81%ed%95%9c%ec%9d%98-%ec%8b%a4%ec%a0%84-%ec%9e%90%eb%b0%94-%ea%b8%b0%eb%b3%b8%ed%8e%b8&unitid=194711
- https://www.inflearn.com/course/lecture?courseslug=%ea%b9%80%ec%98%81%ed%95%9c%ec%9d%98-%ec%8b%a4%ec%a0%84-%ec%9e%90%eb%b0%94-%ea%b8%b0%eb%b3%b8%ed%8e%b8&unitid=194690
- Dispatcher
- while문
- Request
- 다형성 #부모타입 #자식타입
- 매핑 #
- 한글깨짐
- Spring MVC
- Servlet
- Today
- Total
Step it up now
추상메서드/ 추상클래스 본문
추상클래스
- 클래스의 일부 메서드를 미완성
- 미완성 메서드를 갖고있는 클래스
- { }(구현부)가 없는 미완성 메서드
꼭 필요하지만 자손마다 다르게 구현될 것으로 예상되는 경우
-> cd플레이어, dvd플레이어 모두 다르게 작동되고 멈추는 방식이 있을 테니까
abstract class Player {
abstract void play (int pos);
abstract void stop( );
}
-> 추후에 상속통해 자손이 완성된다
추상메서드 호출 가능 ( 호출할떄는 선언부만 필요)
abstract class Player {
boolean pause; //일시정지 상태를 저장하기 위한 변수
int currentPos; // 현재 play되고 있는 위치를 저장하기 위한 변수
Player() { //추상클래스도 생성자가 있어야 한다
pause = false ;
currentPos = 0;
}
//지정된 위치(pos)에서 재생 시작하는 기능 수행하도록 작성
abstract void play (int pos);
//재생을 멈추는 기능 수행하도록 작성
abstract void stop ( );
player라면 스탑하고 플레이 할 수 있어야해
너희는 상속을 통해 너네에 맞게 구현해야해
cf) 추상클래스: 객체생성 불가
인스턴스 매서드: 객체 생성후 호출 가능
방법 => 1. 상속을 통해 자손 완성한 후
2. 자손객체생성
DvdPlayer d = new DvdPlayer();
d.play();
자손을 객체생성했으니 완성되어 호출 가능
void play ( ){
play (currentPos);
}
다른 클래스 작성에 도움주기 위한 것.
인스턴스 불가
Player p = new Player( ); //에러 추상클래스(미완성)의 인스턴스 생성 불가
상속을 통해 추상 메서드를 완성해야 인스턴스 생성가능
미완성 아닌 클래스
class AudioPlayer extends Player {
void play(int pos) { } //추상메서드 몸통{ }구현
void stop ( ) { } // 추상메서드 { } 구현
}
* 상속받았는데 메서드 두개중 1개만 구현해도 에러뜸
기존 클래스의 공통부분을 뽑아서 추상클래스를 만든다 -> 코드 중복 제거
공통부분 모아놓으면 배열로 짤 수 있다
int: 기본형
int[ ]: 배열의 타입이 참조형
객체배열: 참조변수를 묶은 것
추상화
추상화된 코드는 구체화된 코드보다 유연하다 -> 변경에 유리
GreorianCalendar cal = new GregorianCalendar (); // 구체적
Calendar cal = Calendar.getInstance(); // 추상적
'개인공부 > java' 카테고리의 다른 글
메서드 호출, 값 전달 (1) | 2024.01.15 |
---|---|
인터페이스 (1) | 2023.12.17 |
오버라이딩(overriding) (0) | 2023.12.04 |
다형성 (0) | 2023.10.27 |
컬렉션 프레임워크 (1) | 2023.10.23 |