출처 : https://www.youtube.com/watch?v=RQfBapGmNp0&list=PL4SIC1d_ab-Y-bBKojxhtFWwNpawMM1h5&index=10
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// 여러분이 왜 메모리를 알아야 하느냐?
// 메모리란 사실 c#을 배워야 하기 때문에 알아야 하는게 아니다.
// c#이 아니라 모든 프로그램의 근간이 되는 개념이기 때문입니다.
// 이 말은 무슨말이냐?
// 모든 프로그램은
// 공짜는 없다. 메모리를 지불한다.
// 메모리의 구조를 안다는 것은
// 코드의 동작원리를 아는 것과 같다.
class Player
{
int HP = 100;
int AT = 10;
// 함수의 인자값은
// 지역변수이다.
// int _Dmg 지역변수의 특징.
// 함수가 끝나면 사라진다.
public void Damage(int _Dmg)
{
}
}
// 객체로 만들기 전
class Program
{
// 요녀석을 메인 함수라고 하는데.
// static을 빼면 함수의 모양을 가지고 있고
// 함수
// 이곳을 시작이라고 잡은 함수
// c#의 규칙 Main 이라는 이름의 함수에서부터 시작한다.
// 함수의 실행조차 공짜가 없다.
static void Main()
{
// 함수는 메모리화 되지 않는다.
Console.WriteLine("메모리 1차 함수");
// 지역변수 + a 로 계산되는데
// 최소한 지역변수를 다 포함할 수 있는 크기만큼은
// 크기가 되어야 한다.
// 4바이트라는
int Value = 0;
// 객체를 만들었다.
// 객체를 만들었다는 것은 메모리를 지불했다는 것.
// 좀 더 근본적인 내용은 무엇이냐?
// 단 하나도 공짜가 없다.
// 어딘가에 만들어 졌다. (이녀석은 스택이 아니다.)
Player NewPlayer = new Player();
NewPlayer.Damage(10);
// 이게 프로그램
}
}
메인 함수가 실행되면 스택이라는 곳에 메모리를 할당하게 된다.
함수가 종료되고 자기 할 일을 다 끝냈다면 스택에서 사라지게 된다.
'C# 개인 공부 기록용 > 어소트락 게임아카데미 - C# 무료강의[2019] 총48강' 카테고리의 다른 글
[C# 강의 12화] !중요! 레퍼런스의 메모리 구조 및 처리 개념 (0) | 2022.07.04 |
---|---|
[C# 강의 11화] !중요! 값형의 메모리 구조 및 처리 개념 (0) | 2022.07.04 |
[C# 강의 8화] 함수 용법 추가설명 (0) | 2022.07.04 |
[C# 강의 7화]맴버함수, 지역변수의 기본개념 & 클래스 접근제한 지정자 (0) | 2022.07.01 |
[C# 강의 6화] 맴버변수와 상수 기본 개념 (0) | 2022.07.01 |