[C#]클래스-생성자

정영훈·2022년 9월 28일
0

C#프로그래밍

목록 보기
12/29

인스턴스 생성자

인스턴스를 생성할 때 자동으로 호출되는 메서드

인스턴스 생성자는 다음과 같은 조건이 있다.

  • 이름은 클래스 이름과 같아야 한다.
  • 접근 제한자는 public이어야 한다.
  • 반환(return)과 관련된 선언을 하지 않는다.
public [클래스 이름]([매개변수])
{
}

human 클래스를 정의하고 인스터스를 생성한 뒤 랜덤으로 입력된 키와 몸무게를 바탕으로 비만여부를 출력하는 클래스

class Human
{
    public int age;
    public int height;
    public int weight;
    public string name;
    
    public Human()
    {

    }

    public Human(int age, int height, int weight, string name)
    {
        this.age = age;
        this.height = height;
        this.weight = weight;
        this.name = name;
    }

    public void ShowHuman()
    {
        Console.WriteLine($"name : {name}");
        Console.WriteLine($"age : {age}");
        Console.WriteLine($"height : {height}");
        Console.WriteLine($"weight : {weight}");
        int bmi = weight / ((height * height) / 10000);
        if (bmi > 30)
        {
            Console.WriteLine($"bmi : {bmi} 비만입니다.");
        }
        else if(bmi > 25)
        {
            Console.WriteLine($"bmi : {bmi} 과체중입니다.");
        }
        else if(bmi > 20)
        {
            Console.WriteLine($"bmi : {bmi} 정상입니다.");
        }
        else
        {
            Console.WriteLine($"bmi : {bmi} 저체중입니다.");
        }
    }
}

class Program
{

    static void Main(string[] args)
    {
        string[] name = { "kim", "choi", "park", "jeong", "hong" };
        Random rand = new Random();
        Human human1 = new Human(rand.Next(10,80), rand.Next(150, 180), rand.Next(50, 90), name[rand.Next(0,4)]);
        Human human2 = new Human(rand.Next(10,80), rand.Next(150, 180), rand.Next(50, 90), name[rand.Next(0,4)]);
        Human human3 = new Human(rand.Next(10,80), rand.Next(150, 180), rand.Next(50, 90), name[rand.Next(0,4)]);
        human1.ShowHuman();
        human2.ShowHuman();
        human3.ShowHuman();
    }
}
profile
경북소프트웨어고등학교 정보교사

0개의 댓글