C#/문법 기초

클래스와 객체

미역제자 2023. 10. 19. 17:31

OOP란?:  객체 지향 프로그래밍 (Object Oriented Programming)

C#은 OOP언어 입니다.

개발시 나오는 모든것을 객체라 할 수 있습니다. 객체 지향 프로그래밍이란 이렇게 만들어진 객체들을 유기적으로 연결해서 개발해 나가는 방식입니다.

 

객체 지향 특징

객체 지향의 4가지 중요한 특징입니다.

  • 캡슐화
    • 데이터와 코드를 외부에서 알 수 없게 감추는 것
    • 외부에서는 필요한 정보만 알면 된다.
  • 추상화
    • 객체들의 공통적인 특징은 추려내는 것
  • 상속
    • 하위 클래스가 상위 클래스의 모든 것을 활용가능
    • 클래스를 재사용하여 반복적인 코드를 줄일 수 있다.
  • 다형성
    • 프로그램 언어의 각 요소(상수, 변수, 식, 오브젝트, 함수, 메소드) 들이 여러가지 타입을 가질 수 있는 것

장점

  • 재사용 가능한 코드가 많다.
  • 코드 생산성이 높아진다.
  • 유지보수에 용이하다

class

class를 이용하면 이 데이터들의 공통된 부분을 추상화 할 수 있습니다.

class의 형식

이 클래스의 영역 안에서는 변수를 만들거나 함수를 만들 수 있습니다.

함수의 호출이나 계산 등의 동작은 할 수 없습니다.

이러한 경우 함수를 하나 만들어서 그 안에서 필요한 내용을 작성하면 됩니다.

class Character
{
		string userName;
		string job;
		string level;

		public void IntroduceCharacter()  <- 함수를 만들어서 실행
		{
				Console.WriteLine("제 이름은 " + userName + "입니다");
                //class안에서 console을 이용한 호출은 불가능하기 때문에 함수를 하나 더 만듦
		}
}

 

객체에 대해서

클래스를 만들어 준다고 동작하지 않습니다. 사용을 위해서는 객체를 생성해야 합니다.

Character myCharacter = new Character(); <- 객체 생성


class Character
{
		string userName;
		string job;
		string level;

		public void IntroduceCharacter()
		{
				Console.WriteLine("제 이름은 " + userName + "입니다");
		}
}

각 변수나 함수에 접근할 때는 이 객체를 통해 접근을 해야합니다.

객체의 속성을 접근하려면 . 을 눌러서 접근할 수 있습니다.

Character myCharacter = new Character();
myCharacter.userName = "chad" ;
myCharacter.job = "전사"; 
myCharacter.level = 20;

myCharacter.IntroduceCharacter();


class Character
{
		string userName;
		string job;
		string level;

		public void IntroduceCharacter()
		{
				Console.WriteLine("제 이름은 " + userName + "입니다");
		}
}

'C# > 문법 기초' 카테고리의 다른 글

함수  (0) 2023.10.19
배열  (0) 2023.10.19
제어문 - 조건제  (0) 2023.10.18
제어문 - 반복문  (0) 2023.10.18
제어문_예제문제 관련  (0) 2023.10.17