C# 7강 클래스 선언, 생성자, 접근제한자 (인프런)

차차·2021년 9월 15일
0

C#

목록 보기
10/14

👨‍💻클래스

OOP : 객체지향 프로그램
class 를 이용한 객체지향 프로그래밍이 일반적이다.
정의, 설계도 , 청사진

🥨붕어빵 클래스

붕어빵을 만들기 위한 틀 class
틀에서 만들어진 모든 붕어빵이 객체 object
붕어빵 하나하나 instance

설계도에 맞게 만드는 작업을 instance화 한다고 말한다


namespace CuteCat{
	public partial class Form1 : Form
    {
    	public Form()
        {
        	InitialzeComponent(); 
            
            int number = 1; 
            Sonata myCar = new Sonata();
            // myCar가 인스턴스 
        }
    
    }
    class Cat
    {
    	int NumberOfEyes;
        string Name;
        int Age;
        
        void MakeSound()
        {
        	Console.Write("멍멍"); // 이렇게 메소드를 만들어 줄 수 있다. 
        }
        
    }

	class Sonata
    {
    	string color;
        bool hasSunroof; 
        
    
    }
}

🐭클래스 파일을 추가하여 고양이 클래스를 만들자

  • 프로젝트 우클릭 -> class 추가
namespace CuteCat
{
	public class Cat
    {
    	public string name; 
        public int age;
        
        private int happiness;
        
        //생성자 선언 , public 으로 선언하여 외부에서 호출할 수 있게 한다 
        public Cat(string name, int age)
        {
        	this.Name = name; 
            // this 라는 키워드는 Cat 이라는 인스턴스 자체를 가르킨다 즉 
            //현재 인스턴스화 되고있는 그 자체를 가르킴. 키워드를 통해서 값을 넣어줄수 있다. 
            
            Age = age;
            
        }
        
        // 접근제어자를 사용하여 외부에서 접근할 수 없는 메소드를 만들수도 있다 
        public void play()
        {
        	Happiness = Happiness + 10; 
            if(Happiness > 100)
            	Happiness = 100; 
        }
        
        public void Eat()
        {
        	Happiness = Happiness +20; 
            if(Happiness > 100)
            	Happiness = 100;
        }
        public void GetBored()
        {
        	Happiness = Happiness - 10 ; 
            
            if (Happiness <0)
            	Happiness = 0; 
        }
        
        public string Express()
        {
        	string message = ""; 
            if(Happiness >= 80)
            	message = "I'm very happy.";
            else if (Happiness >=60)
            	message = "I'm happy.";
            else if(Happiness >=40)
            	message = "I'm soso."; 
           else if(Happiness >=20)
            	message = "I'm gloomy."; 
           else
           	message = "I'm sad.";
            
           return Name+ ":" +message. 
                
        }
    }

}
profile
개발하는 돌멩이🙄🙄👻

0개의 댓글