책 내용 질문하기
기출문제집 15페이지입니다.
도서
2025 시나공 퀵이지 정보처리기사 실기 단기완성
페이지
15
조회수
118
작성일
2024-07-23
작성자
유*찬
첨부파일

이 문제를 풀이하는데 있어서, 부모클래스에서 객체변수 st를 자식클래스를 이용하여 형변환 발생후 선언하는데


문제풀이 로직은 - 부모 -> 자식 (자료형이 같다) 로 와서 bbxbb 만 해주면 (3x3) 되는 간단한 문제인가요?

객체변수 선언후 = new secondarea(10) 에서 10이 왜 들어간건가요? 부모클래스에서는 따로 해주것이 없나요 ?



평소 문제들 같은 경우에는 , 부모클래스에서 자식 클래스를 이용 (형변환) 하여 객체변수를 선언할 때에는 secondarea() 만 있고 ; 를 내려가서 문제풀이를 항상 했지만 10이 왜 들어간건가요?
10을 보고 어떠한 제스처를 취하고 ( 10 ) ; <- ; 를 만나러 가야하는건가요???

답변
2024-07-23 19:08:04

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

firstArea st = new secondArea(10)

위의 코드에서 secondArea 클래스의 생성자를 이용하여 firstArea 클래스의 객체 변수 st를 선언하는데

자식클래스의 생성자를 사용해 형변환이 발생했고 이때 생성자로 secondArea(10) 이 있습니다.

secondArea( ) 는 자식클래스에만 존재하니 자식클래스의 secondArea( ) 메소드를 찾아갑니다.

이때 secondArea(10) secondArea( ) 메소드를 찾아갈때 10 이라는 인수가 사용이 된것이고

자식클래스에서 secondArea(int i) 라고 되어있으니 int i 가 인수값을 전달 받습니다

super(i, i+1)을 만나 부모 클래스의 생성자를 호출하는데 i가 10이니

super(10, 11)을 인수로 호출하는것이고

firstArea(int x, int y) 에서 10과, 11을 받으면

int x 는 10을 받고, int y는 11 의 값을 받습니다.

this.x = x this.y = y 코드를 만나 firstArea 클래스의 x변수와 y변수에 10과 11을 넣고 호출했던곳으로 되돌아갑니다

그러면 자식 클래스의 super( i, i+1) 밑으로 내려가 sencondArea( int i ) 가 종료되고 호출했던 main 메소드로 되돌아 갑니다.

main 메소드의 st.print( )를 만나 자식클랙스의 print( ) 메소드로 찾아가 bb * bb 를 계산해 결과값을 출력하고 프로그램이 종료됩니다

행복한 하루되세요 :)


  • 관리자
    2024-07-23 19:08:04

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

    firstArea st = new secondArea(10)

    위의 코드에서 secondArea 클래스의 생성자를 이용하여 firstArea 클래스의 객체 변수 st를 선언하는데

    자식클래스의 생성자를 사용해 형변환이 발생했고 이때 생성자로 secondArea(10) 이 있습니다.

    secondArea( ) 는 자식클래스에만 존재하니 자식클래스의 secondArea( ) 메소드를 찾아갑니다.

    이때 secondArea(10) secondArea( ) 메소드를 찾아갈때 10 이라는 인수가 사용이 된것이고

    자식클래스에서 secondArea(int i) 라고 되어있으니 int i 가 인수값을 전달 받습니다

    super(i, i+1)을 만나 부모 클래스의 생성자를 호출하는데 i가 10이니

    super(10, 11)을 인수로 호출하는것이고

    firstArea(int x, int y) 에서 10과, 11을 받으면

    int x 는 10을 받고, int y는 11 의 값을 받습니다.

    this.x = x this.y = y 코드를 만나 firstArea 클래스의 x변수와 y변수에 10과 11을 넣고 호출했던곳으로 되돌아갑니다

    그러면 자식 클래스의 super( i, i+1) 밑으로 내려가 sencondArea( int i ) 가 종료되고 호출했던 main 메소드로 되돌아 갑니다.

    main 메소드의 st.print( )를 만나 자식클랙스의 print( ) 메소드로 찾아가 bb * bb 를 계산해 결과값을 출력하고 프로그램이 종료됩니다

    행복한 하루되세요 :)


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