Machineboy空

Class vs Object vs Instance 본문

Computer/개념

Class vs Object vs Instance

안녕도라 2023. 9. 7. 15:07

Class는 추상화: 복잡한 것들을 목적에 맞게 단순화하는 것, 단순하고 간결하면서도 핵심적인 내용은 전달

  • 자신과의 소통, 컴퓨터와의 소통, 코드를 작성하는 동료들과의 소통, 내가 만든 프로그램을 사용하는 사용자와의 소통
  • 프로그래밍은 추상화의 연속이다!
개념 정의 예시 구성
클래스 (Class) 객체(Object)를 만들어내기 위한 틀
객체의 속성과 기능
자동차 설계도
붕어빵 틀
속성 (데이터) 크기, 종류,파일 생성 날짜  
기능 (메소드) 수정,삭제
객체 (Object) 클래스(Class)를 바탕으로 만드는 실체
클래스로 선언된 변수를 객체
실제 생산된 자동차
팥 100g, 밀가루100g으로 만들어진 붕어빵
   
인스턴스(Instance) 객체가 메모리에 할당이 된 상태이며, 런타임에 구동되는 객체
객체와 같은 의미로 쓰이기도 함
     
//string: Class,  C#에서 정의된 문자열을 다루는 클래스
//a,b: Object이자 Instance, 실제로 데이터를 담을 수 있는 실제 객체

string a = "abc";
string b = "kitty";

 

  • 멤버(Member): 클래스 내에서 선언된 요소 (필드, 메소드, 프로퍼티, 이벤트 등)
멤버(Member)  
필드(field)  
메소드(method)  
프로퍼티(property)  
이벤트(event)  
//Cat을 고양이가 가진 속성을 활용하여 추상화하여 클래스로 표현

class Cat
{
	public string Name;		//필드
    public string Color;	//필드
    
    public void Meow()		//메소드
	{
    	Console.WriteLine("{0}: 야옹", Name);
    }
}

//Cat 클래스를 바탕으로 Object 생성

Cat cat; //객체만 생성
Cat Kitty = new Cat();	//kitty라는 객체 생성하고 바로 인스턴스 생성
kitty.Color = "하얀색";
kitty.Name = "키티";
kitty.Meow();

'Computer > 개념' 카테고리의 다른 글

상속: virtual , override  (0) 2023.09.21
괄호들: Generic [ ], ( ), { }, < >  (0) 2023.09.20
OOP 객체지향 4가지 원리  (0) 2023.09.08
Data Structure: Queue & Stack  (0) 2023.09.08
동적(Dynamic) vs 정적(Static)  (0) 2023.09.07