부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. 안녕하세요! C#언어를 공부하게된지 얼마 안된 코린이 입니다! 비전공자 핑계로 개념이해가 어려워서 질문드립니다. C# [생성자]를 사용해야하는 [이유]가 무엇인지 알려주시면 감사하겠습니다! 도와주십쇼ㅠㅠ [다음 글] 도와주세요!! 팝업 띄우는 더블클릭 이벤트!! 부탁드립니다 ㅠㅠ [이전 글] C# debugging 중에 Thread Pool Worker들이 사라지는데요 [최초 등록일: 10/13/2021] [최종 수정일: 10/13/2021] 비밀번호 댓글 작성자 2021-10-13 02시44분 사실 프로그램 하는데 있어 생성자가 꼭 필요한 것은 아닙니다. 달리 보면 편의상 있다고 봐도 무방합니다.예를 들어, Car라는 타입을 정의해 볼 때,class Car{}Car c = new Car();추가로 Car에 fuel이라는 속성을 정의해 보겠습니다.class Car{ public int fuel;}여기까지는 생성자가 그다지 필요하지 않습니다. 문제는, fuel이라는 값이 기본으로 50이 항상 있다고 가정할 때입니다. 그럼, 생성자가 없다면 모든 Car 인스턴스를 정의할 때마다 다음과 같이 코딩을 해야 합니다.Car c = new Car();c.fuel = 50;Car d = new Car();d.fuel = 50;그냥 봐도 좀 불편하죠? ^^; 이럴 때 생성자를 정의해 그 안에서 기본값을 설정해 둘 수 있다면,class Car{ public int fuel; public Car() { fuel = 50; }}Car c = new Car(); // 연료가 50Car d = new Car(); // 연료가 50중복 코드를 쉽게 제거할 수 있습니다. 또 다른 가정을 하나 해볼까요? fuel이 Car 인스턴스를 생성할 때 외부에서 항상 넣어줘야 하는 상황이라면 어떨까요? 이런 경우에도 생성자가 없다면 매번 다음과 같이 코딩해야 합니다.Car c = new Car();c.fuel = 54;Car d = new Car();d.fuel = 38;그런데, 생성자를 정의해 두면, class Car{ int _fuel; public Car(int fuel) { _fuel = fuel; }}이렇게 처리할 수 있습니다.Car c = new Car(54);Car d = new Car(38);혹시 그래도 이해가 안 되시면 또 질문을 해주세요. 정성태 2021-10-13 02시50분 [guest] 우와!!! 예제를 통해서 보니 한번에 이해가 되었습니다!!! 정말 정말 너무 감사드립니다!!! 열심히 공부 하겠습니다!!! 감사합니다 ㅠㅠㅠㅠ!!!! [guest] 2021-10-14 05시14분 [이정훈] 초기화 용도 (상속한 부모의 초기화 포함) [guest] 2021-10-15 10시13분 [guest] 초기화용도! 감사합니다! [guest] ... 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 ... NoWriterDateCnt.TitleFile(s) 5292아부리2/19/202014239XingApiNet 관련 질문 [3]5291지현명2/15/202015551JsonConvert.Serialize 하고 Deserialize 할때 간헐적으로 한글 깨짐 현상 문의 합니다. [3]5290베도빈2/15/202014582직접 제작한 사용자 정의 콘트롤 DLL, 실행파일에 포함시켜 배포할 수 있을까요? [1]5288김성배2/14/202014793c# 참조추가 기능에서 DirectX 참조가 보이지 않아요.. DircetX 11 은 설치 되어 있습니다. [1]5287C# 초...2/14/202013746프로그램 실행 질문 드립니다. [4]15286gongs2/3/202022985윈도우 배율 및 레이아웃에 대한 질문입니다. [3]5285강성욱1/27/202015466작업관리자에 표시되는 스레드 개수와 프로그램 내 스레드 개수 일치 [1]5284이상준1/15/202022222출력창에 '스레드가 종료되었습니다' 문구 문의 [2]15282봉봉이 1/13/202017638소켓 비동기 ReceiveTimeOut 구현 [9]15281봉봉이 1/13/202015521소켓 비동기 ReceiveTimeOut 구현 [2]5280sdd1/8/202014042데이터 저장, 배치파일 관련하여 질문드립니다. [4]5279김창한12/27/201914629dsoframer ocx [3]5278guest12/27/201913676CLR 스레드 풀 관련 질문 [1]5277방문자12/26/201913461WindowsForm 질문드립니다. [3]5276진우12/17/201916250c++/c# 에도 파이썬 가상환경 같은 기능 혹시 있는지 궁금합니다. [3]5275송재필12/17/201915209아래 'c#8.0 프로그래밍 교제 예제 관련 문의 드립니다' 의 원인이 압축 파일의 문제인듯 합니다. [2]15272정영훈12/13/201915785byte => string => byte 변환 문의드립니다. [5]15270김세미12/3/201914259c#8.0 프로그래밍 교제 예제 관련 문의 드립니다. [4]5269달려라라...12/2/201915426C# winform(framework) tabcontrol 에서 button 함수 관련 질문 [3]15266엔벌잉11/26/201913847라즈베리파이 autostart관련 질문 [2]5265해나11/25/201913606C# 6.0 책 내용 문의 [1]5264김혜원11/18/201916803C# CodeSign에 대해 여쭤볼 것이 있습니다 [4]5263정환맨11/17/201915299Task관련 질문입니다 [3]5262닷린이11/14/201917092Dispatcher 와 synchronizationcontext의 관계가 궁금합니다. [6]5260방문자11/13/201915062안녕하세요 도움받고 싶습니다 [1]5259ming11/13/201914275string타입 파라메터로 넘길때 메모리 내부가 궁금합니다. [3] ... 16 17 18 19 20 21 22 23 24 25 [26] 27 28 29 30 ...