게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
자바 상속 너무 어렵네요.. ㅠㅠ
게시물ID : programmer_2343짧은주소 복사하기
작성자 : LUminary
추천 : 0
조회수 : 530회
댓글수 : 11개
등록시간 : 2014/04/03 16:04:36
알아보기 쉽게 간단히 쓰겠습니다~!

class Main

HighschoolStudent hs = new HighschoolStudent;
hs.introduce();


class Student

public String name = "Student";
public study()
   "문구 출력"
public play()
   "문구 출력"

public void introduce()
System.out.println("I am " + name);
study();
play();


class HighschoolStudent extends Student

public String name = "HighschoolStudent";

public study()
"문구 출력1"
public study()
"문구 출력2"



오버라이딩 공부하고있는데요
1. 
HighschoolStudent hs = new HighschoolStudent;
hs.introduce() 선언한 시점에서 
처음에 자식 클래스 호출을 자식클래스로 했음에도 불구하고 부모클래스에 있는 introdouce 메소드는 당연히 호출이 가능한건가요?

2. play 메소드와 study 메소드가 자식,부모 클래스 모두 있으니까 
자식클래스로만 출력되는 오버라이딩은 이해 하겠는데요.
만약 부모클래스에 play 메소드가 public이 아닌 private 으로 선언되면 왜 부모클래스의 play 메소드를 참조하나요?

3. 그리고 2번의 연장선상의 질문인데요.
public String name은 부모와 자식클래스 모두 name이라는 변수는 같은데 hs.introduce()를 호출하면 왜
부모클래스에서 선언된 String name을 따오는건가요?

뭔가 알듯말듯 하면서도 참 사람 헷갈리게 만드네요..ㅠㅠ

작은 댓글하나라도 달아주시면 감사하겠습니다. ㅠㅠ
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호