일반 배열 만드는 형식, 초기화 방식

int[] intArr = new int[5];
int[] intArr2 = new int[] { 11, 22,  33, 44, 55 }

객체 배열 만드는 형식, 초기화 방식

Car[] carArr = new Car[5]
carArr[0] = new Car("차1",30);
carArr[1] = new Car("차2",60);
carArr[2] = new Car("차3",90);
carArr[3] = new Car("차4",120);
carArr[4] = new Car("차5",150);

배열 : 동일한 자료형의 모음

객체 배열 : 동일한 객체의 모음

객체배열에서 인덱스 하나에 접근하면 객체 이다.

carArr[0].information()
carArr[0].setName() , getName() ...  인덱스 하나를 지정해서 접근가능.

상속 ( inheritance )

/*상속(inheritance)
* 부모가 가지고 있는 재산(자바에서는 클래스가 가지는 멤버)을 자식이 물려받는 의미
* 자바에서의 상속은 부모클래스의 확장(extend)의 개념
* 물려받아서 자신의 것 처럼 사용하는 것 뿐 아니라 추가적인 멤버도 작성이 가능
* 특히 메소드 재정의(overriding)라는 기술을 이용해서 부모가 가진 메소드를 재정의 하는 것도 가능
* 
* 메소드 재정의(overriding)이란 부모가 가지는 메소드 선언부를 그대로 사용하면서
* 자식클래스가 정의한 메소드대로 동작하도록 구현 몸체 부분을 새롭게 다시 작성하는 기술이다.
* 메소드 재정의를 하면 메소드를 호출할 시 재정의한 메소드가 우선적으로 동작하게 된다.
 * */
부모 클래스의 성질을 물려받는다. ( 필드, 메소드 )

/* 상속이라는 기술을 사용하게 되면 얻게되는 이점은 크게 두 가지로 볼 수 있다.
* 1. 새로운 클래스를 작성할 시 기존에 작성한 클래스를 재사용할 수 있다.
 *  1-1. 재사용 시 생산성을 크게 향상시킬 수 있다. (코드가 줄어듬 ,새롭게 작성하는거보다 빠르다)
 *  1-2. 공통적으로 사용하는 코드가 부모클래스에 존재하면 수정사항이 생길 시 부모 클래스만 수정해도
 *       전체적으로 적용된다. (유지보수성 증가)
 * 2. 클래스간의 계층 관계가 형성되며 다형성의 문법적인 토대가 된다.
*/

상속 사용 방법

Car.java

public class Car{ // 모든 종류의 차는 자동차라고 대분류 할 수 있다. 부모 역할을 하는중
	private String brand;

	Car(String brand){  // 생성자
		this.brand = brand;
	}

	public void soundHorn(){ // 경적
		System.out.println("일반 자동차 경적")
	}
}

FireCar.java

public class FireCar extends Car{  // Car의 성질을 물려받아서 쓰겠다 부모를 상속받은 자식클래스
	private String color;

	FireCar(String brand, String color){   // 부모의 생성자를 이용해서도 초기화가 가능하다
		super(brand);   // 부모의 생성자(Car ) 를 호출
		this.color = color;
	}

	@Override
	public void soundHorn(){
	// super.soundHorn();  // 부모의 soundHorn 함수를 실행함
  // 부모에도 똑같은 이름의 함수가 있는데, 자식에서 재정의(오버라이딩) 함
	System.out.println("소방차의 경적")   
	}

}

 

super : 부모클래스의 인스턴스 주소를 보관하는 레퍼런스 변수

super() : 부모클래스의 생성자를 호출하는 함수

'더존 노션 필기 옮기기 > Java' 카테고리의 다른 글

Java 8일차 제네릭, 컬렉션  (1) 2022.08.30
Java 7일차 다형성  (1) 2022.08.30
Java 5일차 객체  (0) 2022.08.30
Java 4일차 배열  (0) 2022.08.30
Java 3일차 함수 조금, 스캐너, 제어문, 반복문  (1) 2022.08.30

+ Recent posts