책 내용 질문하기
p.298 classA() 에 대한 질문
도서
2025 시나공 퀵이지 정보처리기사 실기 단기완성
페이지
298
조회수
58
작성일
2024-10-02
작성자
유*찬
첨부파일

ClassA cal = new ClassA ( ) ; 이 맨 뒤에 생성자는 왜 있는건가요? 사실 좀 헷갈리는게


수학처럼 그냥 받아들이기는 했습니다만, ClassA ()이 왜 있는건가요?

사실 마음같아선 순서가 클래스 a의 객체생성을 하겠다 cal 이란 것이고 cal 이란 변수를 생성자로 리셋하겠다 라는 순서로


Class A new = cal Class A() 라고 생각을 하고 싶습니다만 ...!

그래서 중요한 질문의 요점은 Class A ( ) 생성자의 역할은 단지 새롭게 생성된 객체변수 cal의 변수를 아무것도 없는값으로 리셋해주는 역할일 뿐인가요 ?

뭔가 ( ) 가 특별한 역할을 하는지 궁금했습니다.

답변
2024-10-03 10:51:19

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

Class A new = cal Class A()

이코드에서 맨뒷부분에 있는 Class A( ) 의 경우 ( ) 괄호안에 아무것도 없지만

메소드를 호출할때 처럼 인수값이 들어갈 수도 있습니다


객체변수를 선언할때 생성자가 있냐? 없냐? 이렇게 크게 2가지로 구분할 수 있습니다.

다른 형태도 있지만 일단 이 두가지를 먼저 이해하시고 지나가셔야 합니다


질문하신 교재 298페이지 "323 java의 클래스 1" 예제와

교재 302페이지 "324 java의 클래스 2" 예제를 정확하게 이해하고 지나가세요

둘다 개체 변수를 선언을 하는데

클래스명과 동일한 생성자가 정의되어 있냐? 없냐?를 확인하셔야 합니다

있냐? 없냐?에 따라 코드 실행 순서가 달라집니다.


만약 없다면 객체변수만 생성하고 바로 아랫줄로 내려가 실행이 되지만,

클래스명과 동일한 생성자가 정의되어 있으면 객체가 생성될 때 자동으로 생성자가 호출이 되어 실행이 됩니다


행복한 하루되세요 :)

  • 관리자
    2024-10-03 10:51:19

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

    Class A new = cal Class A()

    이코드에서 맨뒷부분에 있는 Class A( ) 의 경우 ( ) 괄호안에 아무것도 없지만

    메소드를 호출할때 처럼 인수값이 들어갈 수도 있습니다


    객체변수를 선언할때 생성자가 있냐? 없냐? 이렇게 크게 2가지로 구분할 수 있습니다.

    다른 형태도 있지만 일단 이 두가지를 먼저 이해하시고 지나가셔야 합니다


    질문하신 교재 298페이지 "323 java의 클래스 1" 예제와

    교재 302페이지 "324 java의 클래스 2" 예제를 정확하게 이해하고 지나가세요

    둘다 개체 변수를 선언을 하는데

    클래스명과 동일한 생성자가 정의되어 있냐? 없냐?를 확인하셔야 합니다

    있냐? 없냐?에 따라 코드 실행 순서가 달라집니다.


    만약 없다면 객체변수만 생성하고 바로 아랫줄로 내려가 실행이 되지만,

    클래스명과 동일한 생성자가 정의되어 있으면 객체가 생성될 때 자동으로 생성자가 호출이 되어 실행이 됩니다


    행복한 하루되세요 :)

  • 유*찬
    2024-10-02 20:11:19
    클래스안에 생성자에대한 호출문이 없다면, 그냥 객체변수를 리셋 ? 하는 용도 정도이고 클래스안에 생성자에 대한 호출문? 생성문? 이 있다면 클래스 생성문으로 돌아가 생성문을 실행하고 다시 돌아오는 것으로 이해하면 될까요 ?
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.