JAVA

레퍼런스 super 활용 | 21/12/13

S.I.B 2022. 1. 9. 12:23

 

코드 작성
package ex_super;

public class test1 {

	public static void main(String[] args) {
		
		SpiderMan spiderman = new SpiderMan();
		spiderman.isSpider = false;
		spiderman.jump();
		
		String name = "홍길동";
		double dNum = 3.14;
		char ch = 'A';
		long num = 30000000000L;
		
		System.out.println(name);
		System.out.println(dNum);
		System.out.println(ch);
		System.out.println(num);
		
		

	}

}
/* 
 * 사람(Person) 클래스 정의
 * 멤버변수
 *    1) 이름(name)
 *    2) 나이(age)
 * 메서드 정의
 *    1) 점프(jump)
 *       - 매개변수 없고, 리턴값 없음
 *       - "일반인의 점프!" 출력
 *       
 * 스파이더맨(SpiderMan) 클래스 정의 - Person 클래스 상속
 * 멤버면수
 *   1) 스파이더맨모드(isSpider, boolean)
 * 메서드 정의
 *   1) 점프(jump) 메서드 오버라이딩
 *      => 스파이더모드가 true 일 때 "스파이더맨의 엄청난 점프!" 출력하고
 *         아니면 Person 클래스의 점프 메서드를 호출 
 */

class Person{
	String name;
	int age;
	
	public void jump() {
		System.out.println("일반인의 점프!");
	}
}

class SpiderMan extends Person{
	boolean isSpider;

	@Override
	public void jump() {

		if(!isSpider) {

		super.jump();

		} else {

			System.out.println("스파이더맨의 엄청난 점프!");

		}
	}
}

레퍼런스 super 활용!


일반인의 점프!
홍길동
3.14
A
30000000000

 

나의 소감
   이렇게 if문은 사용해서 슈퍼클래스의 값을 호출한 것인지 서브클래스의 값을 호출할 것인지 정의할 수 있구나
   신기하답 ㅇㅅㅇ