일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- flutter 환경설정
- flutter getting started
- ftp download
- Flutter 설치
- flutter 총정리
- php 게시판
- php ftp upload
- php
- regexp
- 문자치환
- ftp연동
- php ftp download
- StoreKit
- android function
- 정규식 문자치환
- php 문자치환
- flutter 완벽 가이드
- db connect
- AppStore
- flutter 설치하기
- 플러터
- 검색구현
- 크기 리사이즈
- ftp upload
- flutter 실행하기
- flutter 앱 만들기
- page navigation
- Swift
- SKStoreReviewController
- Review
- Today
- Total
AppleTree iOS
java - 10일째(source) 본문
package restdudy.base;
public class base6 extends base7{
//오버라이딩: 부모에 정의된 메소드나 변수 클래스를 재정의 합니다.
//변수: 데이타형과 이름이 같으면 오버라이딩
//메소드: 데이타형과 메소드 이름과 아퀴먼트가 같으면 오버라이딩
//클래스: 클래스를 상속받으면
public void Over() {
System.out.println("child 에서 오버라이딩");
};
public static void main(String[] args) {
base6 ba= new base6();
//오버라이딩된 메소드
//상속 base7->base6
//ba.Over();
//부모=자식
//현재커서는 부모시점으로 맞추어져있습니다.
base7 ba2=new base6();
ba2.Over();
base7 ba3=new base6();
//이름, 나이, 주소을 초기값으로 입력하고(변수에 초기값을 담고)
//메소드를 get 메소드 만들고
//자식에서 base7 ba3=new base6();
//을 이용해서 출력해보세요.
System.out.println(ba3.getName());
System.out.println(ba3.getAddress());
System.out.println(ba3.getAge());
}
}
package restdudy.base;
public class base7 {
public String name="김 영주";
public String address="서울";
public int age=20;
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public int getAge() {
return age;
}
public void Over(){
System.out.println("parent 메소드");
}
}
package restdudy.base.interace;
//인터페이스는 추상이기때문에
//interface 선언된 모든 메소드는 abstract (추상) 메소드입니다.
//추산은 몸체가 없습니다. (절대 올수 없습니다.)
public interface BaseCommand {
//이름,나이,주소를 셋팅하는 메소드입니다.
public void doExecute(String username,String address,int age);
public void AclassMethod();
public String Relation();
public String EndView();
}
package restdudy.base.aclass;
import restdudy.base.interace.BaseCommand;
//부모:BaseCommand(인터페이스)
//자식:Aclass(추상클래스)
//인터페이스는 클래스에서 상속을 받으면 반드시 인터페이스 메소드에 있는
//몸체를 선언해야한다
//추상클래스는 인터페이스를 상속받으면 몸체를 반드시 구현하지 않아도된다
//그러나 추상클래스를 상속받는 클래스는 반드시 인터페이스에있는 메소드를 수현해야한다.
public abstract class Aclass implements BaseCommand {
public void AclassMethod(){
System.out.println("Aclass꺼");
}
public String Relation(){
System.out.println("Aclass로 올라왔다.");
return this.EndView();
}
public String EndView(){
return"Aclass EndView";
}
}
package restdudy.base.basenew;
import restdudy.base.aclass.Aclass;
import restdudy.base.interace.BaseCommand;
//BaseCommand -> Aclass -> ClientView
//public void doExecute(String username,String address,int age);
//추상클래스에서 몸체를 선언하지 않았습니다.
public class clientView extends Aclass{
@Override
public void doExecute(String username, String address, int age) {
System.out.println("ClientView 현재위치");
}
@Override
public void AclassMethod() {
System.out.println("clientView꺼");
}
public String EndView(){
System.out.println("Client EndView");
return"Client EndView";
}
public String Relation(){
super.Relation();
return"";
}
public static void main(String[] args) {
//현재 커서시점은 clientView
clientView client=new clientView();
client.doExecute("이름", "주소", 20);
//추상클래스나 인터페이스는 new(객체를 단독으로 ) 만들수없다.
//단 자식클래스가 객체흫 생성하는 서는 받을수있다.
//현재시점은 커서가 BaseCommand 에 올라사 있습니다.
BaseCommand base=new clientView();
//여기서 깜짝 퀴즈문제
//Aclass AclassMethod만든 문제
//BaseCommand 에서 선언하고 ClientView 에서 오버라이딩해서
//값을 뿌려보세요 단 현재 커서는 위치는 최종 BaseCommand에서 시작합니다.
base.AclassMethod();
//현재닶을 부른 시점음 오버라이딩되서 최종 클라이언트로 값을 뿌린겂니다
//추상클래스 Aclass 에 AclassMethod 에 있는 메소드를 호출해보세요.
//최종클라이언트 clientView 에서 해당하는 메소드를 주석처리하면 됩니다.
//현재커서는
base.Relation();
}
}
'JAVA > 기초 JAVA' 카테고리의 다른 글
java - 12일째(source) (0) | 2010.07.23 |
---|---|
java - 11일째(source) (0) | 2010.07.22 |
java - 9일쩨(source) (0) | 2010.07.20 |
java - 8일째(source) (0) | 2010.07.19 |
java - 7일째(source) (0) | 2010.07.16 |