C#/수업내용

C# 21.03.11.수업내용

HappyFrog 2021. 3. 11. 18:22
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study000
{
    class Program
    {
        /*클래스
             * 정보/기능
             * 참조형식(스택메모리(힙메모리에 있는 값의 주소값을 가리킴 : 참조)와 힙메모리(값) 모두 사용 / 변수를 선언하고 값을 정의하지 않는다면 변수에는 null이 포함됨.)
             * ㄴMyClass mc = new MyClass();
             * ㄴmc = 변수(스택메모리) / 우항 = 값(힙메모리)
             * ㄴnull은 값이며 만약 값에 null을 할당한다면 mc는 아무것도 참조하지 않음.
             * ㄴ그러므로 new MyClass();라는 힙메모리에 저장된 값은 G.C(Garbage Collecter)가 삭제함.
             * 
             * 사용자 정의 형식
             * 파일
             * 개체를 생성할 수 있다.
             * 
             * ★ 인스턴스(개체)를 생성하려면 반드시 new 연산자을 사용해야함.
             * 메모리는 heap에 저장
             */
        static void Main(string[] args)
        {
            Console.WriteLine("Hello world");
            new App();
            new App();
            new App();
            new App();
            new App();
            /* ★ new연산자
             * 1. new연산자는 새 유형의 인스턴스(개체=실체)를 만든다.
             * ㄴ 오직 new연산자를 통해서만 해당 클래스가 인스턴스화 된다.
             * 2. 클래스의 생성자를 호출한다.
             * ㄴ 호출되는 생성자 = 생성된 인스턴스의 생성자
             */
        }
                
    }
}

============================================================================

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study000
{
    public class App
    {
        //클래스의 정보는 멤버변수에.

        /* ==추상화와 상속==
         * 클래스 표기의 방법
         * 추상화 - 일반화
         * ㄴex)마린, 파벳, 메딕
         * 
         * 상속
         * 1.개념
         * ㄴ만약 유닛클래스가 이동가능하면
         * ㄴ유닛클래스 하위는 모두 이동가능
         * ㄴex)유닛 하위클래스의 마린, 파벳, 메딕
         * 2.단점
         * ㄴ필요없는 기능들도 상속됨.
         * ㄴex)만약 유닛클래스에 공격가능 기능이 있다면
         * ㄴ메딕도 공격가능 기능을 상속함
         */
        public App() 
            // 생성자(메서드) Constructor
            // 특징 : 반환타입이 없음.
        {
            Console.WriteLine("App을 열었습니다.");
        }
        
        //클래스의 기능은 멤버메서드에.       
    }
}

 

============================================================================

 다...날아가 버렸다...ㅎ