# 생성자 / new 키워드
2021. 1. 24. 12:56ㆍ개발/C#
Dog danji = new Dog(); 를 실행할 경우
danji는 클래스의 인스턴스이자 객체이며, 다른 한편으로는 힙에 생성한 객체를 가리키는 스택 메모리 영역이다.
new 키워드를 통해 생성자를 호출하여 힙에 객체를 생성하면,
danji가 힙에 생성된 객체의 주소를 가리키는 클래스의 인스턴스가 된다.
생성자는 클래스의 이름과 동일한 이름을 가지며, 객체를 생성한다.
new 키워드는 생성자를 호출하는 연산자
모든 클래스는 참조 형식이다.
(값 타입은 스택 메모리에 값이 저장되며, 참조 타입은 스택 메모리에 힙에 있는 객체의 주소가 저장된다)
생성자를 구현하지 않으면, 컴파일러에서 기본 생성자를 만들어준다.
using System;
namespace DefineTest
{
class Program
{
// 조건에 따라 서로 다른 블록을 컴파일 한다.
static void Main(string[] args)
{
Dog danji = new Dog();
Dog danji2 = new Dog(10);
Console.ReadLine();
}
}
class Dog
{
public Dog()
{
Console.WriteLine("강아지가 생겼습니다.");
}
public Dog(int age)
{
Console.WriteLine($"{age}살짜리 강아지가 생겼습니다.");
}
}
}
'개발 > C#' 카테고리의 다른 글
# 디폴트 파라미터 (0) | 2021.01.24 |
---|---|
# C#의 동작 원리 (0) | 2021.01.24 |
# 전처리기 지시어 (0) | 2021.01.24 |
# Visual Studio에서 디버깅하기 (0) | 2021.01.24 |
# Mysql DB에 데이터 쓰기 / 데이터 읽어오기 (0) | 2021.01.24 |