Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 안드로이드
- ApplicationContext란
- layout
- Spring Handler
- 인텔리제이
- ElasticSearch 토큰필터
- ElasticSearch Shingle
- 자바
- ElasticSearch EdgeNGram
- ElasticSearch 동의어 파일
- H2
- elasticSearch
- Java
- 계산기
- 안드로이드스튜디오
- Servlet 멀티 스레딩
- 동의어 파일
- 토큰필터
- Bean Factory란
- ElasticSearch 동의어 사전
- Servlet Life Cycle
- spring 장점
- Dispathcher Servlet이란
- ElasticSearch NGram
- Servlet과 Thread
- ContextLoaderListener란
- Servlet Container란
- Spring Container란
- Spring Servlet이란
- H2 DB
Archives
- Today
- Total
결국 무엇이든 해내는 사람
(Java)Day09-상속 본문
반응형
상속은 extends 를 통해 사용가능
상속을 받은 클래스는 상속 해준 클래스의 모든 것을 가지고 시작한다. 변수든 메소드든
고로 유지보수와 재사용성이 매우 좋아진다.
아래는 Animal이라는 클래스를 만들고 여기에 기본적인 메소드와 변수를 만들어준다음 Cat Dog Monkey 클래스에 그대로 상속해줌
그러면 Cat Dog Monkey 클래스는 필요의 경우 메소드를 각각 알아서 더 만들어주면 되고 , 혹은 Animal에서 만들어놓은 메소드나 변수를 그대로 사용하면 그만이다.
package Inheritance;
public class Animal {
String name;
String color;
String age;
public void attack() {
System.out.println(this.name + "이 매섭게 저항한다!");
}
public void runaway() {
System.out.println(this.name + "이 준내 빠르게 도망간다!");
}
public void beCaptured() {
System.out.println(this.name + "이 포획되었다!");
}
public void showInfo() {
System.out.println("이름 : "+this.name);
System.out.println("색깔 : "+this.color);
System.out.println("나이 : "+this.age);
}
}
package Inheritance;
public class Cat extends Animal {
public Cat(String a, String b, String c) {
this.name=a;
this.color=b;
this.age=c;
}
}
package Inheritance;
public class Dog extends Animal{
public Dog(String a, String b, String c) {
this.name=a;
this.color=b;
this.age=c;
}
}
package Inheritance;
public class Monkey extends Animal{
public Monkey(String a, String b, String c) {
this.name=a;
this.color=b;
this.age=c;
}
}
package Inheritance;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Animal> deck =new ArrayList<>();
Cat cat = new Cat("냥냥이","black","2");
Dog dog = new Dog("멍멍이","brown","4");
Monkey mk = new Monkey("숭이","white_brown","2");
cat.beCaptured();
cat.attack();
cat.runaway();
dog.runaway();
dog.beCaptured();
mk.attack();
mk.beCaptured();
deck.add(cat);
deck.add(dog);
deck.add(mk);
for(int i =0 ; i <deck.size();i++) {
System.out.println("-------------------------");
deck.get(i).showInfo();
}
}
}
위의 메인처럼 사용해도 무방. 실제로 Cat Dog Monkey 클래스안에는 아무것도 없지만 상속 받은 메소드나 변수 사용 쌉가능
반응형
'두서없는 공부 노트 > JAVA' 카테고리의 다른 글
(Java)Day09 - 상속을 확실히 이해해보기2(오버라이딩, super) (0) | 2020.08.18 |
---|---|
(Java)Day09 - 상속을 이용한 은행계좌 만들어보기 (0) | 2020.08.18 |
(Java)Day09 - Getter Setter 를 이용한 퀴즈 만들기 (0) | 2020.08.18 |
(Java)ArrayList를 이용한 카페 메뉴만들기 (0) | 2020.08.18 |
(Java)미로찾기 (0) | 2020.08.17 |
Comments