<CADI 2주차 미션>
1. 정기모임때 진행한 내용 복습
- 따로 포스팅 http://markim94.tistory.com/88
2. 상속을 활용한 예제 자바 프로그램 만들어보기
- 실습간 진행한 animal 프로젝트에서 부모 클래스의 private 속성들에 대하여 값을 변경, 출력해주는 코드로 확장하기.
Animal.java
package ClassTest;
public class Animal {
private double weight;
private String picture;
void eat() {
System.out.println("eat() 호출됨.");
}
void sleep() {
System.out.println("sleep() 호출됨.");
}
void setWeight(double weight) { // weight를 설정해주는 메소드, weight는 private이므로 설정해주는 메소드가 별도로 필요함.
this.weight = weight;
}
void printWeight() {
System.out.println(this.weight); // weight를 출력해주는 메소드
}
}
Eagle.java
package ClassTest;
public class Eagle extends Animal{
private int wings = 2;
void fly() {
System.out.println("fly() 호출됨.");
}
}
Lion.java
package ClassTest;
public class Lion extends Animal{
private int legs = 4;
void roar() {
System.out.println("roar() 호출됨.");
}
}
AnimalTest.java
package ClassTest;
public class AnimalTest {
public static void main(String[] args) {
Eagle eagle = new Eagle();
eagle.eat();
eagle.sleep();
eagle.fly();
eagle.setWeight(20); // eagle의 weight를 20으로 설정
eagle.printWeight(); // weight 출력
Lion lion = new Lion();
lion.roar();
lion.eat();
lion.sleep();
lion.setWeight(30); // lion의 weight를 3으로 설정
lion.printWeight(); // lion의 weight 출
eagle.printWeight(); // lion의 weight와 eagle의 weight는 별개임을 알 수 있음.
}
}
실행결과
3. 패키지 override01의 overrideExample.java 주석달기
package override01;
class SuperClass{ // 부모 클래스
public void itis() { // 부모클래스의 itis 메소드
System.out.println("It's super class"); // it's super class 출력
}
}
class SubClass extends SuperClass{ // 부모 클래스를 상속(extends)해서 만든 자식 클래스
public void itis() { // 자식 클래스의 itis 메소드, 부모 클래스의 itis 메소드를 재정의(오버라이딩).
System.out.println("It's sub class"); // it's sub class 출력
}
}
class overrideExample { // 재정의한 메소드를 확인하고자 만든 메인 클래스
public static void main(String[] args) {
SuperClass sc = new SuperClass(); // 부모 클래스를 sc로 객체화함.
SubClass bc = new SubClass(); // 자식 클래스를 bc로 객체화함.
sc.itis(); //부모 클래스의 itis메소드 호출
bc.itis(); //자식 클래스의 itis메소드 호출
}
}
반응형
'▶대학생활 > IT동아리 CADI' 카테고리의 다른 글
[CADI 7주차 미션] LayoutInflater, dialog message (0) | 2018.07.13 |
---|---|
[CADI 5,6주차 미션] Gradle 개념정리, 카카오톡 외형구현하기 (0) | 2018.06.29 |
[CADI 1주차 미션] 앱실습과제-자기소개 (0) | 2018.05.16 |
[CADI]IT동아리 카디 합격후기&활동계획 (0) | 2018.04.23 |
[CADI]컨버전스형 IT 연합동아리 카디 일반회원 모집 (0) | 2018.04.05 |