728x90
클래스 (class)
- 클래스는 설계도입니다.
- 자바는 객체지향언어로, 설계도를 잘 만들고, 그대로 부품을 만들고 조립해서 프로그램을 만듭니다.
- 그러나 이걸 실질적으로 사용하는 데에는 약간의 어려움이 있습니다.
- 이해를 위해서는 직접 만들어보는게 좋았습니다.
1. Animal 클래스 만들기
이 클래스에는 멤버변수로 age, size, legCnt, hasWing
을 만들었습니다.
부모클래스로 생성하고, 하위 클래스(자식클래스)도 만듭니다.
public class Animal {
public int age;
public int size;
public int legCnt;
public boolean hasWing;
public Animal() {
}
public Animal(int age, int size, int legCnt, boolean hasWing) {
this.age = age;
this.size = size;
this.legCnt = legCnt;
this.hasWing = hasWing;
}
public void eat() {
System.out.println("식사를 한다.");
}
}
- 상속받을 자식클래스 만들기
자식 클래스로Tiger
를 만들었습니다.
- 부모클래스에 생성자가 있으면,
super()
라는 키워드를 사용해서 부모클래스 생성자를 호출하는 방식을 사용할 수 있습니다. super
자체는 부모클래스를 의미합니다.- 상속은
extends + 부모클래스
이 키워드를 통해 수행합니다.
package chap07_inherit.animal;
public class Tiger extends Animal {
public String meat;
public boolean isSwimming;
public boolean hasPattern;
public String color;
public Tiger() {
}
public Tiger(String meat, boolean isSwimming, boolean hasPattern, String color, int age, int size,
int legCnt, boolean hasWing) {
//생성자들은 super() 호출.
super(age, size, legCnt, hasWing);
//부모의 속성도 매개변수로 가져올 수 있다.
this.meat = meat;
this.isSwimming = isSwimming;
this.hasPattern = hasPattern;
this.color = color;
//부모의속성 초기화
this.age = age;
this.size = size;
this.legCnt = legCnt;
this.hasWing = hasWing;
}
}
이러한 상속이 수행된다면, 코드의 재사용성 측면에서 상당히 효과적이라 할 수 있습니다.
'네이버 클라우드 캠프 > Java' 카테고리의 다른 글
[Java] enum 열거형 정리 (0) | 2023.03.29 |
---|---|
[Java] Collections (0) | 2023.03.29 |
[Java] 인스턴스화 (0) | 2023.03.23 |
[Java] Unhandled exception type IOException (0) | 2023.03.13 |
[Java] 기초 (0) | 2023.03.13 |