JAVA 기초

JAVA 10-2

Vanillwa 2023. 8. 24. 20:51

Car 클래스 (부모)

package ex4_inheritance;

public class Car {
	public void ride() {
		System.out.println("달립니다.");
	}
}

 

Bus 클래스 (Car 클래스의 자식 클래스)

package ex4_inheritance;

public class Bus extends Car{
	int peopleNum; // 승객수
	
	public Bus(int peopleNum) {
		this.peopleNum = peopleNum;
	}
	
	public void takePerson() {
		System.out.println("승객이 버스에 탑승했습니다.");
		peopleNum++;
		System.out.println("지금까지 탑승한 승객은 "+peopleNum+"명입니다.");
	}
}

 

SchoolBus 클래스 (Bus 클래스의 자식 클래스)

package ex4_inheritance;

public class SchoolBus extends Bus{
	public SchoolBus(int peopleNum) {
		//super : 부모클래스
		super(peopleNum); //부모클래스의 생성자
		//부모의 생성자가 기본생성자라면 생략이 가능
		//부모의 생성자가 파라미터를 받는다면 생략이 불가능
	}
	
	@Override // @ : 어노테이션 주석의 일종
	public void takePerson() {
		super.takePerson(); //부모클래스의 takePerson() 호출
	}
	
	@Override
	public void ride() { //Car클래스의 ride 오버라이딩
		System.out.println("시속 50km/h로 천천히 달립니다.");
	}
}

 

 

Main 클래스

package ex4_inheritance;

public class CarMain {
	public static void main(String[] args) {
		SchoolBus sb = new SchoolBus(10);
		sb.takePerson();
		sb.ride();
	}
}

실행 결과


 

Book 클래스 (부모 클래스)

package ex6_final;

public class Book {
	//final 키워드는 상수를 뜻함
	//상수 : 한번 초기화 한 후 다시 값을 대입할 수 없음
	//클래스에 final을 쓸 경우 상속의 마지막 클래스임을 의미
	//어떠한 클래스도 final 클래스의 자식 클래스가 될 수 없음
	
	String title;
	
	public /*final을 붙일경우 Comic 클래스는 상속받지 못함*/ Book(String title) {
		this.title = title;
	}
	
	//final 메서드
	//상속은 받을 수 있지만 오버라이딩 할 수 없음
	public final void info_title() {
		System.out.println("책의 제목은 : "+title+"입니다.");
	}
}

 

Comic 클래스 (자식 클래스)

package ex6_final;

public class Comic extends Book {
	boolean isColor;
	public Comic(String title, boolean isColor) {
		super(title);
		this.isColor = isColor;
	}
	
	//info_title 메서드는 Comic 클래스에서 오버라이딩 불가능
	
	public void info_color() {
		if(isColor)
			System.out.println("이 만화책은 컬러입니다.");
		else
			System.out.println("이 만화책은 흑백입니다.");
	}
}

 

Main 클래스

package ex6_final;

public class BookMain {
	public static void main(String[] args) {
		Comic c = new Comic("원피스", false);
		c.info_title();
		c.info_color();
	}
}

실행 결과

'JAVA 기초' 카테고리의 다른 글

JAVA 11-1  (0) 2023.08.25
JAVA 10-HW  (0) 2023.08.24
JAVA 10-1  (0) 2023.08.24
JAVA 9-2  (0) 2023.08.23
JAVA 9-1  (1) 2023.08.23