* 클래스
비주얼 스튜디오를 첫 실행하면 뜨는
using system namespace ConsoleApp1 { class anything { static void Main() {.... |
의 class를 말하는 것.
클래스는 '데이터와 처리를 모아 놓은 것'을 말한다.
액셀로 따지면 sheet 같은 건가?
프로그램이 커지는데 일일이 한 페이지에 나열하면 복잡하고, 어디 찾기도 어려우니까
미리 만들어서 조합하고 재이용하기 위해 클래스를 사용한다.
이와 같이 부품(물건, 객체, object)마다 프로그램을 만들어 가는 개념을 객체 지향이라고 하며,
C#언어와 같은 프로그래밍을 객체 지향 언어라고 한다.
객체 지향 프로그램: 명령어들의 집합이 아닌 여러 개의 독립된 개체들의 모임. 객체끼리 메시지를 주고 받음.
데이터를 필드, 처리를 메소드라고 부르며 필드와 메소드를 통틀어 멤버라고 한다.
클래스엔 값을 저장할 수 없다(실체화해야 한다).
그래서 클래스를 바탕으로 값을 저장할 수 있는 변수와 같은 것(객체, object)을 만들며,
new 연산자를 통해 '인스턴스화하다', '객체를 생성하다'라고 한다.
객체는 여러개를 만들 수 있으며, 각 객체엔 서로 다른 데이터를 줄 수 있다.
Book book1; book1 = new Book(); |
혹은
Book book1 = new Book () ; |
Book은 클래스명, book1은 객체명
* 필드
: 클래스 안의 변수(메소드 안에서 정의한 변수 X).
- 클래스 Wdata에 정수형 month와 day, 그리고 문자열 sky라는 필드를 정의한다.
- 그리고 다음 클래스 Weather에 Wdata로부터 파생된 today 라는 객체를 생성한다.
- today에 Wdata의 필드를 가져오기 위해 '.'를 사용하여 month는 10, day는 9, sky는 "맑음"이라는 값을 준다.
- 디버그 콘솔에 출력한다.
'메타버스기반게임콘텐츠기획 > 스터디(C#이 보이는 그림책)' 카테고리의 다른 글
4장, 클래스 (4-3) 오버로드 / 선택적 인수 / 액세스 수식자 (0) | 2021.11.26 |
---|---|
* 4장, 클래스 (4-2) (0) | 2021.11.25 |
3장, 제어문 (3-2, 문제) (0) | 2021.11.23 |
3장, 제어문 (3-1) (0) | 2021.11.18 |
2장, 연산자 (문제) (0) | 2021.11.17 |