책 내용 질문하기
java 상속문제 입니다.
도서
2024 시나공 정보처리기사 실기 기출문제집
페이지
88
조회수
132
작성일
2024-07-20
작성자
유*찬
첨부파일

같은문제로 질문을 많이드렸는데 이 부분만 해결되면 이제 상속문제는 잘 풀 수 있을것 같습니다.


main 함수에서

vehicle obj = new car ( "spark") 을 선언하고 객체변수 spark 를 입력하기위해 자식 클래스로 올라가게 되는데요 ,

자식클래스는 3번째 줄부터 시작을 하는데 이런 메소드를 실행하기에 앞서 name 이라는 string이 선언 되어야 합니다.


전 main 함수를 시작 1번으로 두었기에 자식 클래스에 있는 2번째 줄이 먼저 실행되지 않고 어떻게 호출만으로 자식클래스의 3번 줄로 가지? 라는 생각을 했는데,


이러한 정의 ? 변수 , string 선언 같은 것들은 main 함수 시작전에 이미 모두 선언이 되었다고 생각하고 문제를 풀면 될까요 ?


제 설명이 잘 됐는지 모르겠습니다만 ...!


( abstrcat public string getname ( string val) ;

public string getname () {

~

}


도 같습니다 ..!

답변
2024-07-22 20:38:48

안녕하세요 길벗수험서 운영팀입니다.


class Car extends Vehicle { 

private String name;

public Car(String val) {

name = super.name = val;

 }


런타임 시점에 클래스를 로딩하는데 클래스 정보를 처음 메모리 공간에 올리때

초기화 되는 대상을 저장하기 위해 메모리 공간이 사용이 되고

클래스, 인터페이스, 메소드, static 변수 등을 보관을 합니다


위에 있는 자식 클래스 코드중 두번째 줄에

private String name; 이 코드에서 문자열 객체 name 을 선언을 했기 때문에

자식클래스에서 name을 사용할 수 있으므로 main 메소드에서 자식클래스의 3번째 줄로 이동이 되어 실행이 되는것 입니다


행복한 하루되세요 :)

  • 관리자
    2024-07-22 20:38:48

    안녕하세요 길벗수험서 운영팀입니다.


    class Car extends Vehicle { 

    private String name;

    public Car(String val) {

    name = super.name = val;

     }


    런타임 시점에 클래스를 로딩하는데 클래스 정보를 처음 메모리 공간에 올리때

    초기화 되는 대상을 저장하기 위해 메모리 공간이 사용이 되고

    클래스, 인터페이스, 메소드, static 변수 등을 보관을 합니다


    위에 있는 자식 클래스 코드중 두번째 줄에

    private String name; 이 코드에서 문자열 객체 name 을 선언을 했기 때문에

    자식클래스에서 name을 사용할 수 있으므로 main 메소드에서 자식클래스의 3번째 줄로 이동이 되어 실행이 되는것 입니다


    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.