같은 클래스에 같은 이름의 생성자가 두 개 이상 정의되어 있는 경우 생성자마다 매개변수가 다르면 오버로드라고 합니다.
C#에서 생성자 오버로딩을 사용하는 방법을 배우기 위한 예를 살펴보겠습니다.
이 예에는 두 개의 주제와 학생 이름에 대한 문자열 선언이 있습니다.
private double SubjectOne; private double SubjectTwo; string StudentName;
우리는 다른 과목에서 세 학생의 결과를 보여주고 있습니다. 이 예에서 생성자 오버로딩을 표시하기 위해 이름은 학생 3 rd 에만 표시됩니다. .
Student s1 = new Student(); Student s2 = new Student(90); Student s3 = new Student("Amit",88, 60);
다음 코드를 실행하여 C#에서 생성자 오버로딩을 구현할 수 있습니다.
예시
using System; namespace Program { class Student { private double SubjectOne; private double SubjectTwo; string StudentName; public Student() { this.SubjectOne = 80; } public Student(double SubjectOne) { this.SubjectOne = SubjectOne; } public Student(string StudentName, double SubjectOne, double SubjectTwo) { this.SubjectOne = SubjectOne; this.SubjectTwo = SubjectTwo; this.StudentName = StudentName; } public double GetSubjectOneMarks() { return this.SubjectOne; } public double GetSubjectTwoMarks() { return this.SubjectTwo; } public string GetStudentName() { return this.StudentName; } } class Program { static void Main(string[] args) { Student s1 = new Student(); Student s2 = new Student(90); Student s3 = new Student("Amit",88, 60); Console.WriteLine("One"); Console.WriteLine("Subject One Marks: {0}", s1.GetSubjectOneMarks()); Console.WriteLine(); Console.WriteLine("Second"); Console.WriteLine("Subject One Marks: {0}", s2.GetSubjectOneMarks()); Console.WriteLine(); Console.WriteLine("Third"); Console.WriteLine("Student name: {0}", s3.GetStudentName()); Console.WriteLine("Subject One Marks: {0}", s3.GetSubjectOneMarks()); Console.WriteLine("Subject Two Marks: {0}", s3.GetSubjectTwoMarks()); Console.ReadKey(); } } }
출력
One Subject One Marks: 80 Second Subject One Marks: 90 Third Student name: Amit Subject One Marks: 88 Subject Two Marks: 60