main 을 포함 클래스 2개
클래스의 속성은 이름 나이 성별 주소를 선언하고 다른 클래승[서 접근을 제한
매개변수를 사용하는 생성자 추가
속성의 getter/setter 멤버 메서드 추가
모든 속성을 출력하는 멤버 메서드 추가
string [] name;
int [] age;
char [] gender;
string[] addr;
main()에서 10명의 학생의 정보를 저장할수 있는 Student객체 생성
이름 나이 성별 주소 랜덤
10번째 학생의 정보를 변경
Main
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Class_STDMG {
internal class Program {
static void Main(string[] args) {
Random rd= new Random();
string[] name = { "Hong", "Kim", "Pack", "Lee", "Choi" };
int[] age = { 20, 25, 30, 34, 40 };
char[] gender = { 'M', 'F' };
string[] addr = { "대구", "서울", "부산", "인천", "광주" };
Student[] st = new Student[10];
for (int i = 0; i < st.Length; i++) {
st[i] = new Student();
st[i].nameSet(name[rd.Next(name.Length)]);
st[i].ageSet(age[rd.Next(age.Length)]);
st[i].genderSet(gender[rd.Next(gender.Length)]);
st[i].addrSet(addr[rd.Next(addr.Length)]);
}
Console.WriteLine("바뀌기 전");
for (int j = 0; j < st.Length; j++) {
st[j].showStudent();
}
//이미 만들어진 객체의 정보를 바꿈 (총 10개의 객체를 생성) -> 싱글톤(디자인패턴)
st[st.Length - 1].nameSet("전우치");
st[st.Length - 1].ageSet(24);
st[st.Length - 1].genderSet('M');
st[st.Length - 1].addrSet("한양");
//마지막 객체를 새로 생성 (총 11개의 객체를 생성)
//st[st.Length - 1] = new Student("전우치",24,'M',"한양");
Console.WriteLine("바뀐 후");
foreach (var i in st) {
i.showStudent();
}
}
}
}
Student
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Class_STDMG {
internal class Student {
//이름 나이 성별 주소
private string name;
private int age;
private char gender; //F, M
private string addr;
public Student() {}
public Student(string name,int age,char gender,string addr) {
this.name = name;
this.age = age;
this.gender = gender;
this.addr = addr;
}
public void showStudent() {
Console.WriteLine("--------------------");
Console.WriteLine($"이름 : {name}");
Console.WriteLine($"나이 : {age}");
Console.WriteLine($"성별 : {gender}");
Console.WriteLine($"주소 : {addr}");
}
#region Setter
public void nameSet(string name) {
this.name = name;
}
public void ageSet(int age) {
this.age = age;
}
public void genderSet(char gender) {
this.gender = gender;
}
public void addrSet(string addr) {
this.addr = addr;
}
#endregion
#region Getter
public string getName() {
return this.name;
}
public char getGender() {
return this.gender;
}
public int getAge() {
return this.age;
}
public string getAddr() {
return this.addr;
}
#endregion
}
}
'C# > C# 연습' 카테고리의 다른 글
WinForm : 퀴즈 게임 (0) | 2022.12.24 |
---|---|
WinForm : 단순 계산기 (0) | 2022.12.21 |
Class : Student Score (0) | 2022.12.18 |
Class : Car Manager (0) | 2022.12.18 |
Class : Car (0) | 2022.12.17 |