기본 자료형으로 만든 배열이 아닌, 참조자료형을 가지고 만드는 배열
참조자료형은 실제값을 갖고있는게 객체이기 때문에, 객체를 집어넣어 주어야함
아래 방법으로 초기화
참조자료형의 기본 값 : null
ex)
aArr[0]/aArr[1]/aArr[2] : 참조자료형은 각 인덱스마다 주소값을 갖고 있기 때문에 arr이 하나의 참조변수가 됨
상속 : 부모클래스가 자식 클래스(새로 작성할 클래스)에게 멤버(필드, 메소드)를 쓸 수 있게 공유해주는 것
상속 표현식
자식클래스 extends(예약어) 부모클래스
상속의 특징
1. private도 상속은 가능하나 접근 불가
2. 모든 클래스는 Object클래스의 후손
3. 단일 상속만 지원 (다중 상속을 지원하기위해 여러번의 단일 상속을 할 수 있게 지원 == 부모클래스를 여러개 둘 수 있도록)
super 부모객체의 주소값을 갖고잇는 reference 변수
(this 내 객체를 가르키는 reference 변수)
public Child2() {
//super.num = 1; // private 당연히 안됨
super.dNum = 0.0;
super.bool = false; // 상속 상관 없이 같은 패키지라 가능
super.ch = 'B';
상속 예시)
부모클래스
package com.kh.example.animal.model.vo;
public class Animal {
private String name;
private int age;
private double weight;
public Animal() {}
public Animal(String name, int age, double weight) {
this.name =name;
this.age =age;
this.weight =weight;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getWeight() {
return weight;
}
public void setWeight (double weight) {
this.weight = weight;
}
public String inform() {
return name + "," + age + "," + weight;
}
}
자식클래스
package com.kh.example.animal.model.vo;
public class Snake extends Animal {
private String pattern;
public Snake() {}
public Snake(String name, int age, double weight, String pattern) {
super(name,age,weight);
this.pattern = pattern; //위 인자값들을 가져와서 필드에 넣어주겠다 라는 초기화
}
public String getPattern() {
return pattern;
}
public void setPattern (String pattern) {
this.pattern = pattern;
}
public String inform() {
return super.inform() + " " + pattern;
}
}