2025. 4. 3. 16:35ㆍ게임인재원/수업요약
Class
사용자가 속성과 행동을 정의하는 사용자 정의 자료형.
객체 Object들의 관계를 위한 언어
객체는 행동이 정의 될 수 있따.
데이터와 행동
스택은 정적할당, (함수 스택은 그냥 함수 호출의 모양)
코드와 데이터영역 각 영역을 차지하게 되는 것들
class/struct의 크기는 어떻게 결정되는가
sizeof = 차지하는 메모리
this 도 포인터다(명시하지 않으면 생략 this ->)
코드는 하나고 멤버함수도 코드영역에 있음
객체가 늘어난다고 같이 늘어나지 않음. 그래서 어느객체가 참조해서 호출했는지 알아야함
멤버함수는 유일하고 멤버변수는 각 객체별로 데이터 영역에 할당됨
new 는 생성자 자동 호출
(생성자도 결국 함수임 오버로딩 가능
근데 오버로딩 하려면 기본 생성자 반드시 명시, 안하고 오버로딩하면 컴파일 에러)
class 있으면 생성자는 명시하지 않아도 자동으로 생성함
생성자 초기화리스트가 뭐임?
class의 멤버 중 static 변수는 public으로 했다고 사용가능한 것이 아님.
static 변수는 객체가 아닌 class에 속해있다?
그렇다는 것은 같은 class의 객체가 같은 하나의 static 변수를 참조 -> 그렇다 static변수는 일단 데이터영역
선언만 하고 객체를 생성하지 않는경우의 크기?
메모리관점으로 생각해보자
함수는 모두 code 영역이지만 static 함수는 static 변수들 만을 다룰 수 있다 this 없음.
this는 only object에 관한 것
'게임인재원 > 수업요약' 카테고리의 다른 글
4.3, 4.4 Class 상속, 다형성 (0) | 2025.04.03 |
---|---|
4.2 Unity light, Material, Shader (0) | 2025.04.03 |
3.20 ~ 3.30 (0) | 2025.03.31 |
3.19 OOP & Unity Component (0) | 2025.03.19 |
3.17 C# (0) | 2025.03.17 |