클래스 Class 단순히 기본 자료형만으로는 모델링을 하기에 제약이 너무 크다. 따라서 원하는 객체의 타입을 새롭게 정의하여 사용할 수 있게 해주는 것이 클래스의 역할.클래스 내에서는 속성과 행위를 개발자가 정의하여 사용할 수 있다. 클래스로 타입이 정의되면 참조형으로 분류되기 때문에 메모리 할당이 필요하다. ( C에서의 malloc과 같은 작업이 필요 = new ) Book guliver = new Book("guliver"); Book : "Book"이라는 클래스를 자료형으로 가지는guliver : gulliver 라는 식별자를 가지도록 선언new Book : Book의 크기만큼 메모리를 할당("guliver") : 인자로 guliver를 전달해 Book에 값을 초기화 필드 Field클래스 정의에서 ..
객체지향 프로그래밍 Object-Oriented ProgrammingC#이 가지고 있는 특성이 객체지향이다. 그러나 이제껏 배웠던 C가 절차지향 언어이기에, 객체지향이라는 용어 자체가 낯설게 느껴졌다.객체지향이 어떤 특성을 가지고 있는지를 먼저 파악하고자 한다. 객체지향 프로그래밍이란?객체 단위로 쪼개진 프로그램이 객체끼리의 상호작용에 의해 작동된다.프로그램에 필요한 데이터들을 추상화하여 객체를 만들고, 객체 사이의 상호작용을 통해 프로그램을 작동시킨다. 여기서 객체는 structure 같은 데이터 묶음이 아닌, 데이터와 메서드가 하나의 역할에 대해 묶인 덩어리를 말한다. 객체지향은 말그대로 '성향'이나 '방법'을 말하는 것이기에, "어떤 언어는 객체지향 언어"라는 말은 옳지 않다. 그러나, 개념을 수용..