책 내용 질문하기
2021년 3회 1번 문제
도서
2024 시나공 정보처리기사 실기 기본서
페이지
144
조회수
40
작성일
2025-04-17
작성자
이*인
첨부파일

count는 Connection 클래스의 멤버변수이기 때문에 힙 영역에 저장되는 것 아닌가요? 해설지에는 스택 영역에 표시되어 있어서 질문드립니다.

답변
2025-04-17 11:18:37

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

객체 변수를 생성한다는 것은 Connection _inst = new Connection( );과 같이 객체 생성 예약어인 new를 통해 heap 영역에 공간을 확보하여

Connection 클래스의 내용을 저장한 후 그 주소를 객체 변수에 저장하는 것인데,

private static Connection _inst = null; 이코드에서는 객체 생성 예약어인 new가 생략되었으므로 생성이 아닌 선언만 하는것입니다.

객체 변수를 선언만 하게 되면 heap이 아닌 stack 영역에 내용 없이 저장되어 사용이 불가능합니다.

이후 _inst = new Connection( ); 이코드처럼 객체 생성 예약어인 new가 사용되어야만 heap 영역에 내용이 저장되고

그 주소도 객체 변수에 전달되면서 사용 가능한 객체 변수가 됩니다.

행복한 하루되세요 :)

  • 관리자
    2025-04-17 11:18:37

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

    객체 변수를 생성한다는 것은 Connection _inst = new Connection( );과 같이 객체 생성 예약어인 new를 통해 heap 영역에 공간을 확보하여

    Connection 클래스의 내용을 저장한 후 그 주소를 객체 변수에 저장하는 것인데,

    private static Connection _inst = null; 이코드에서는 객체 생성 예약어인 new가 생략되었으므로 생성이 아닌 선언만 하는것입니다.

    객체 변수를 선언만 하게 되면 heap이 아닌 stack 영역에 내용 없이 저장되어 사용이 불가능합니다.

    이후 _inst = new Connection( ); 이코드처럼 객체 생성 예약어인 new가 사용되어야만 heap 영역에 내용이 저장되고

    그 주소도 객체 변수에 전달되면서 사용 가능한 객체 변수가 됩니다.

    행복한 하루되세요 :)

  • 이*인
    2025-04-17 11:37:23
    답변 감사합니다. 그럼 new Connection을 하기 전에는 count가 스택 영역에 선언되어 있다가, new Connection을 하면 count가 힙 영역에도 저장되는건가요?
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.