Q & A

시삽: 레드플러스 님 
게시판 이동:
 제목 : Re : new 키워드 질문입니다
글번호: 907
작성자: 레드플러스
작성일: 2020/12/07 오전 10:31:00
조회수: 1868

 

안녕하세요.

질문 주신 부분은 다른분들도 많이 궁금하신 것 같네요...

앞서 다른 분의 질문에 추가해서 답변을 드립니다. 

 

질문하신 2개의 형태는 모두 동일한 형태입니다. 책에서는 2개를 나눠서 코드를 표현한 이유는 다른 이유는 없이, 이렇게 해도 됨을 표시하기 위함입니다.

모든 개체의 인스턴스는 개체 변수에 저장하고 사용하는게 기본입니다. 

 

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

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

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

 

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

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

 

그래서, 다음처럼 특정 변수에 담고 그것을 사용하느냐, 바로 필요한 부분에서 변수에 담지않고 사용하느냐의 차이점입니다. 

> string s1 = new string('*', 3);
> s1
"***"
> new string('*', 3)
"***"

.

거의 대부분은 특정 변수에 값을 담고 사용합니다.

하지만, 오픈소스 등 현업 소스를 보다보면, 직접 필요한 부분에서 사용하는 것도 많이 보일겁니다.

동일한 결과이지만, 코드가 줄어드는 기교성 코드이므로, 

눈으로 익혀두시면, 나중에 도움이 될 것입니다.

 

"개체의 인스턴스를 특정 변수에 담는 것은 편의를 위한 참조입니다."

"개체의 참조를 한 번 이상 사용하지 않는다면, 굳이 만들 필요가 없습니다."

 

감사합니다.

 

 

 


On 2020-12-07 오전 8:18:00, '김지현' wrote:

 

 


new 사용법이

클래스 개체 = new 클래스();로 알고 있었는데요...

 

GetDataTimeFromYearlyHour.cs에서

return (new DateTime(2019, 1, 1, 0, 0, 0)).AddHours(--number);

PatternMatchingWithIf.cs에서

Console.WriteLine(new String('*', number));

에서 나오는 new가 무엇을 의미하는 것인지 알려주시면 감사하겠습니다.

 

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

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

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 전자책 오탈자 문의드립니다. KakaoTalk_20201223_114102202.jpg(388 KB) 이우석 2020-12-23 2202
  new 키워드 질문입니다 - 김지현 2020-12-07 2188
현재글 Re : new 키워드 질문입니다 - 레드플러스 2020-12-07 1868
다음글 asp.net core 입문 - 마재건 2020-12-06 2304
 
손님 사용자 Anonymous (손님)
로그인 Home