프랙티컬 C#
[클래스] 1장, 객체지향 기초 - 1편
정희재
2022. 6. 1. 19:40
자, 프랙티컬 C# 이라는 책을 샀어요.
제목부터 간지나죠?
이거 읽으면 C# 잘할 것 같죠?
그래서 샀습니다.
맛보기로 살짝 깔짝대면서 읽어보고 오늘 새롭게 알게된 내용!
지금 정리 시작합니다.
1. 구조체와 클래스의 차이
우선 C#에서 클래스와 구조체를 다루는 방법은 매우 비슷하다.
똑같이 속성과 메소드를 만들어서 사용할 수 있다.
다만 확실하게 드러나는 차이점은 저장공간에 있다.
클래스는 인스턴스로 만들어서 사용할 때 참조형(Reference Type)으로 만들어지고
구조체는 인스턴스로 만들었을 때 값형(Value Type)으로 만들어진다.
그래서 이런 일이 생긴다.
위 코드의 실행 결과가 아래와 같다.
클래스의 경우에는 참조형이기 때문에 myClass2 에서 속성값을 바꿨을때 myClass1에도 영향을 끼치지만
구조체의 경우에는 그렇지 않다.
또 모든 Value Type의 변수들이 그렇듯 구조체 역시 null 값을 허용하지 않는다.
첫날이니까 조금만 하자 ㅋㅋ;;
게다가 오늘은 휴일이거든...