반응형
실습 개요
학생 클래스
멤버 필드
아이큐
매력
번호
이름
가장 최근에 부여한 번호
멤버 메서드
생성자
공부하다
춤추다
노래하다
ToString 재정의
멤버 속성
get은 public, set private
클래스 다이어그램
소스 코드
using System;
namespace 캡슐화_실습___학생_클래스_정의하기
{
class Student//학생 클래스
{
#region 멤버 필드
int iq;// 아이큐
int cp;// 매력
readonly int num;// 번호
string name;// 이름
static int lastnum;// 가장 최근에 부여한 번호
#endregion
#region //멤버 메서드
public Student(string name)// 생성자
{
this.name = name;
lastnum++;
num = lastnum;
}
// 공부하다
public void Study(int tcnt)
{
Console.WriteLine("{0}번 {1}학생 {2}횟수 공부하다.", num, name, tcnt);
iq += tcnt;
}
// 춤추다
public void Dance(int tcnt)
{
Console.WriteLine("{0}번 {1}학생 {2}횟수 춤추다.", num, name, tcnt);
cp += tcnt;
}
// 노래하다
public void Sing(int tcnt)
{
Console.WriteLine("{0}번 {1}학생 {2}횟수 노래하다.", num, name, tcnt);
iq += tcnt / 2;
cp += tcnt / 2;
}
// ToString 재정의
public override string ToString()
{
return string.Format("번호:{0} 이름:{1}", num, name);
}
#endregion
#region//멤버 속성
// get은 public, set private
public int IQ
{
get
{
return iq;
}
private set
{
iq = value;
}
}
public int CP
{
get
{
return cp;
}
private set
{
cp = value;
}
}
public int Num
{
get
{
return num;
}
}
public string Name
{
get
{
return name;
}
private set
{
name = value;
}
}
public static int LastNum
{
get
{
return lastnum;
}
}
#endregion
}
}
//http://ehpub.co.kr
//실습으로 다지는 C#
//9. 캡슐화 실습 - 학생 클래스 정의하기
using System;
namespace 캡슐화_실습___학생_클래스_정의하기
{
class Program
{
static void Main(string[] args)
{
Student stu1 = new Student("홍길동");
Student stu2 = new Student("강감찬");
Console.WriteLine(stu1);
Console.WriteLine(stu2);
stu1.Study(3);
Console.WriteLine("번호:{0} 이름:{1} 아이큐:{2} 매력:{3}", stu1.Num, stu1.Name, stu1.IQ, stu1.CP);
stu1.Dance(4);
Console.WriteLine("번호:{0} 이름:{1} 아이큐:{2} 매력:{3}", stu1.Num, stu1.Name, stu1.IQ, stu1.CP);
stu1.Sing(6);
Console.WriteLine("번호:{0} 이름:{1} 아이큐:{2} 매력:{3}", stu1.Num, stu1.Name, stu1.IQ, stu1.CP);
Console.WriteLine("가장 최근에 부여한 학생 번호:{0}", Student.LastNum);
}
}
}
실행 결과
번호:1 이름:홍길동
번호:2 이름:강감찬
1번 홍길동학생 3횟수 공부하다.
번호:1 이름:홍길동 아이큐:3 매력:0
1번 홍길동학생 4횟수 춤추다.
번호:1 이름:홍길동 아이큐:3 매력:4
1번 홍길동학생 6횟수 노래하다.
번호:1 이름:홍길동 아이큐:6 매력:7
가장 최근에 부여한 학생 번호:2
반응형
'C# > 실습으로 다지는 C#' 카테고리의 다른 글
[012] C# 집합 관계 실습 - 쇼핑 센터, 상품 (0) | 2020.04.08 |
---|---|
[011] C# 일반화(Generalization) 관계 실습 - 포유류, 사자, 호랑이 (0) | 2020.04.08 |
[008] C# 랜덤 값 맞추기 (0) | 2020.04.06 |
[007] C# 암스트롱의 수 구하기 (0) | 2020.04.06 |
[006] C# 두 정수 사이의 모든 정수의 합계 구하기 (0) | 2020.04.05 |