본문 바로가기
메타버스기반게임콘텐츠기획/스터디(C#이 보이는 그림책)

4장, 클래스 (4-1)

by Queenut 2021. 11. 24.

 * 클래스

 

비주얼 스튜디오를 첫 실행하면 뜨는

using system
namespace ConsoleApp1
{
       class anything
       {
              static void Main() {....

 class를 말하는 것.

클래스는 '데이터와 처리를 모아 놓은 것'을 말한다.

액셀로 따지면 sheet 같은 건가?

 

프로그램이 커지는데 일일이 한 페이지에 나열하면 복잡하고, 어디 찾기도 어려우니까

미리 만들어서 조합하고 재이용하기 위해 클래스를 사용한다.

 

 이와 같이 부품(물건, 객체, object)마다 프로그램을 만들어 가는 개념을 객체 지향이라고 하며,

 C#언어와 같은 프로그래밍을 객체 지향 언어라고 한다.

객체 지향 프로그램: 명령어들의 집합이 아닌 여러 개의 독립된 개체들의 모임. 객체끼리 메시지를 주고 받음.

 

 

 

Book 이란 이름의 클래스

데이터를 필드, 처리를 메소드라고 부르며 필드와 메소드를 통틀어 멤버라고 한다.

 

클래스엔 값을 저장할 수 없다(실체화해야 한다).

그래서 클래스를 바탕으로 값을 저장할 수 있는 변수와 같은 것(객체, 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는 "맑음"이라는 값을 준다.

 - 디버그 콘솔에 출력한다.