도라에몽주머니

[Java/Eclipse] Java 27일차 본문

Study/Java

[Java/Eclipse] Java 27일차

에몽쓰 2022. 10. 24. 16:53

Java

 

오버라이드(Override)

: 부모 클래스에 있는 메소드를 자식 클래스에서 재정의 하는 것. 부모 클래스를 상속받아 부모 클래스의 메소드와 같은 이름으로 자식 메소드에서 재정의 함.

 

Super 키워드

: 자식 클래스에서 부모 클래스를 사용하고자 할 때 사용하는 키워드.

 

* 상속된 클래스에서 자식 클래스의 생성자가 호출되면, 반드시 부모클래스의 생성자도 호출해야 한다. (super 이용해서 부모클래스의 생성자 불러와야 함)

  • super(); 는 생략 가능 (매개변수가 없는 super)
  • super(데이터); 는 데이터 형식에 맞는 부모클래스의 생성자를 호출

 

예제

다음 프로그램을 완성하시오.

1. Salary.java

- 멤버필드
name : 문자열
salary : 정수
- 멤버메소드
Salary(name:String, salary:int)
viewInformation() : void → 이름, 연봉 출력

 

2. Department.java → Salary를 상속받음
- 멤버필드
department : 문자열
- 멤버메소드
Department(name:String, salary:int, department:String)
viewInformation() : void → 이름, 연봉, 부서 출력

 

3. main() 함수
public static void main(String[] args){
    Department ob = new Department("강호동", 85000000, "개발부");
    ob.viewInformation();
}

 

<실행 결과>
이름 : 강호동
연봉 : 85000000
부서 : 개발부

// Salary.java
package prac1;

public class Salary {
	private String name;
	private int salary;
	
	public Salary(String name, int salary) {
		super();
		this.name = name;
		this.salary = salary;
	}
	
	public void viewInformation() {
		System.out.println("이름 : " + name);
		System.out.println("연봉 : " + salary);
	}
	
}
// Department.java
package prac1;

public class Department extends Salary {
	private String department;
	
	public Department(String name, int salary, String department) {
		super(name, salary);
		this.department = department;
	}
	
	public void viewInforamtion() {
		super.viewInformation();
		System.out.println("부서 : " + department);
	}
}
// Prac1.java
package prac1;

public class Prac1 {
	public static void main(String[] args) {
		Department ob = new Department("강호동", 85000000, "개발부");
		ob.viewInforamtion();
	}
}

'Study > Java' 카테고리의 다른 글

[Java/Eclipse] Java 29일차  (0) 2022.10.26
[Java/Eclipse] Java 28일차  (0) 2022.10.25
[Java/Eclipse] Java 26일차  (0) 2022.10.21
[Java/Eclipse] Java 24, 25일차  (0) 2022.10.20
[Java/Eclipse] Java 23일차  (0) 2022.10.18