Q & A

시삽: 레드플러스 님 
게시판 이동:
 제목 : Re : C# 교과서 605쪽 질문있습니다.
글번호: 900
작성자: 레드플러스
작성일: 2020/11/27 오후 8:11:00
조회수: 2303

안녕하세요.

질문하신 2개의 형태는 모두 동일한 형태입니다.

책에서는 2개를 나눠서 코드를 표현한 이유는

다른 이유는 없이, 이렇게 해도 됨을 표시하기 위함입니다.

 

다음 샘플 코드처럼, 클래스의 인스턴스를 특정 변수에 넣어두고 실행하는 것과

직접 (new Car())를 호출하는 것과 동일 내용입니다. 

> class Car { };
> var car = new Car();
> car
Submission#0.Car { }
> (new Car())
Submission#0.Car { }

 

생성자 실행 후 결과를 개체 변수에 담느냐,

담지 않고 생성자를 실행만 하느냐의 차이로만 기억하면 될 것 같습니다.

감사합니다.

 

 

 

 


On 2020-11-27 오후 4:49:00, '김세정' wrote:

 

 


① var good = new Car(new Good( ));

② good.Run( );

③ new Car(new Bad( )).Run( ); // 개체 만들기와 동시에 메서드 실행

 

①번은 힙 영역에 할당된 영역의 첫 번째 주소를 good(스택)에 저장

Q1)

③번은 힙 영역에 할당한 후 스택에 주소를 저장하지 않았는데

메모리 어디에 있는지 모르는데 어떻게 Run을 호출하나요? 

Q2)

만약 주소를 저장하지 않으면 다른 곳에서 사용할 때 어떻게 호출하나요?

Q3)

③번으로 사용하면 ①번과 비교했을 때 장단점이 어떻게 될까요?

 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 c# vscode 실행에러 vscodeError01.jpg(503 KB) ededed 2020-12-01 2901
  C# 교과서 605쪽 질문있습니다. - 김세정 2020-11-27 2487
현재글 Re : C# 교과서 605쪽 질문있습니다. - 레드플러스 2020-11-27 2303
다음글 grpc tls 통신오류(1) - 김준호 2020-11-18 2828
 
손님 사용자 Anonymous (손님)
로그인 Home