회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.ChatGPT

1.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

2.노코딩 게임 엔진 - 빌..

2.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

3.(완료) 미접속 회원 정..

3.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

4.매뉴얼 플러스 - 전자제..

5.KiCad - PCB 설..

5.KiCad - PCB 설..

PCB 설계 무료 프로그램

2023.02.09//read more


안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


생성자

푸딩뱃살 | 2014.10.27 01:48 | 조회 2796
생성자

객체를 생성할 때 호출되는 클래스와 같은 이름의 특수한 메소드이다.

인수가 없는 생성자
class A_ {
    public int a_, b_, c_;
    
    //생성자
    public A_() {  //클래스와 같은 이름
        a_ = 0;
        b_ = 0;
        c_ = 0;
    }
}

class TestA_ {
    //객체 생성 = 생성자 호출
    A_ a_ = new A_();
}
* 생성자에는 반환 값이 없다.
* 필드 초기화에 이용한다.

인수가 있는 생성자

생성자 호출과 동시에 인수를 전달한다.
class B_ {
    public int s_, t_;
    
    //생성자
    public B_(int a_, int b_) {
        s_ = a_;
        t_ = b_;
    }
}

class TestB_ {
    B_ b_ = new B_(5, 6); //생성자에 전달하는 인수
}
//예
using System;

class Book_ {
    //변수 설정
    public int price_;
    public int num_ = 0;
    public string title_;
    
    //생성자
    public Book_(string t_, int p_) {
        title_ = t_;
        price_ = p_;
    }
    
    // 출력 함수
    public void print_() {
        Console.WriteLine("제    목: " + title_);
        Console.WriteLine("정    가: " + price_);
        Console.WriteLine("주문부수: " + num_);
        Console.WriteLine("합계금액: " + price_ * num_);
    }
}
class Books_{
    static void Main() {
        //객체 생성
        Book_ book_ = new Book_("C 참고서", 10000); //생성자 호출
        book_.num_ = 20;
        book_.print_();
    }
}
#결과
제 목: C 참고서
정 가: 10000
주문부수: 20
합계금액: 200000


여러 가지 생성자

디폴트 생성자
생성자를 작성하지 않으면 인수가 없는 생성자가 자동으로 준비된다.
class Book_ {
    //디폴트 생성자-작성되지 않는다.
    Book_() {
    }
}

복사 생성자
같은 클래스의 객체를 인수로 받아 대응하는 필드에 값을 대입하는 생성자
복사 생성자는 받은 객체를 복제한다.
public Book_(Book_ copy) {
    num_ = copy.num_;
    price_ = copy.price_;
}
//예
using System;

class Book_ {
    public string title_;
    public string writer_;
    
    public Book_(string t_, string w_) {
        title_ = t_;
        writer_ = w_;
    }
    
    public Book_(Book_ copy) {
        title_ = copy.title_;
        writer_ = copy.writer_;
    }
    
    public void print_() {
        Console.WriteLine("제    목: " + title_);
        Console.WriteLine("저    자: " + writer_);
    }
}

class Books_ {
    static void Main() {
        Book_ book1_ = new Book_("C# 참고서", "헬로");
        book1_.print_();
        Book_ book2_ = new Book_(book1_);
        book2_.title_ = "C 참고서";
        book2_.print_();
    }
}
#결과
제 목: C# 참고서
저 자: 헬로
제 목: C 참고서
저 자: 헬로

참고) c#이 보이는 그림책
285개(11/15페이지)
프로그래밍
번호 제목 글쓴이 조회 날짜
85 [C#] 생성자와 상속 base 푸딩뱃살 3688 2014.11.21 02:09
84 [C#] 클래스 상속 푸딩뱃살 3775 2014.11.17 23:35
83 [C#] 클래스 예제 푸딩뱃살 3251 2014.11.03 23:03
82 [C#] Main() 메소드 푸딩뱃살 3167 2014.11.02 23:43
81 [C#] 인덱서 푸딩뱃살 2663 2014.11.01 01:09
80 [C#] 속성 푸딩뱃살 2706 2014.11.01 00:41
>> [C#] 생성자 푸딩뱃살 2797 2014.10.27 01:48
78 [C#] public, private 사진 첨부파일 푸딩뱃살 3044 2014.10.25 22:32
77 [C#] 오버로드(overload) 푸딩뱃살 2633 2014.10.22 23:02
76 [Python] 웹 파싱, 웹 클라이언트 프로그래밍 httplib 푸딩뱃살 3434 2014.10.06 00:46
75 [C#] 스코프(scope) 푸딩뱃살 3237 2014.10.02 01:17
74 [C#] 메소드 호출 푸딩뱃살 2677 2014.10.02 00:46
73 [C#] 메소드(method) 푸딩뱃살 3206 2014.10.02 00:30
72 [C#] 필드(field) 푸딩뱃살 3097 2014.10.02 00:06
71 [C#] 객체(object)의 생성 푸딩뱃살 3564 2014.10.01 23:36
70 [C#] 클래스(class)의 개념 푸딩뱃살 3456 2014.10.01 22:29
69 [기본] 용어 - 클래스, 객체, 인스턴스, 메소드, 필드 푸딩뱃살 3912 2014.05.29 11:36
68 [Python] Python 프로세스 리스트 추출 푸딩뱃살 8596 2014.05.20 16:02
67 [Python] Python 환경 변수 설정 첨부파일 푸딩뱃살 4185 2014.05.20 12:46
66 [Python] Python console 컬러 출력 첨부파일 푸딩뱃살 5164 2014.05.14 22:23