책 내용 질문하기
void와" 리턴값 없음"의 관계
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
494
조회수
532
작성일
2019-03-25
작성자
탈퇴*원
첨부파일

p.85의 문제4의 해설인 p.494에서는 void가 사용된 구문이다. 그런데 왜,동그라미1 이하의 실행값인 myVar.a:  -80, myVar.b:-90, myVar.c:100이 return된 것처럼 최종 '결과'가 a= -80, b= -90, c=100이 되었나요? 

답변
2019-03-26 10:23:07

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

 

일반 변수와 다르게 클래스 변수는 모든 인스턴스가 공통된 값을 공유하게 됩니다.

한 클래스의 모든 인스턴스들이 공통적인 값을 가져야할 때 클래스 변수로 선언합니다.

(C로 보면 일종의 전역변수죠)

 

클래스가 로딩될 때 생성되어 종료 될 때 까지 유지되는 클래스 변수는 프로그램 내에서 어디서든 접근할 수 있는 전역 변수가 됩니다. 

리턴값이 존재하지 않더라도 함수 내에서 값변화가 이루어 진다면 그대로 적용되게 되죠.

함수에서 IntClass myVar로 받았지만 굳이 myVar가 아닌 다른 이름으로 받더라도 값 변화는 적용됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-03-26 10:23:07

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

     

    일반 변수와 다르게 클래스 변수는 모든 인스턴스가 공통된 값을 공유하게 됩니다.

    한 클래스의 모든 인스턴스들이 공통적인 값을 가져야할 때 클래스 변수로 선언합니다.

    (C로 보면 일종의 전역변수죠)

     

    클래스가 로딩될 때 생성되어 종료 될 때 까지 유지되는 클래스 변수는 프로그램 내에서 어디서든 접근할 수 있는 전역 변수가 됩니다. 

    리턴값이 존재하지 않더라도 함수 내에서 값변화가 이루어 진다면 그대로 적용되게 되죠.

    함수에서 IntClass myVar로 받았지만 굳이 myVar가 아닌 다른 이름으로 받더라도 값 변화는 적용됩니다.

     

    행복한 하루되세요 :)

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