객체와 클래스 완벽 설명!! 더 이상 헷갈려 하시지 마시고 들어보세요~

KIM YONG GU·2023년 9월 2일
0

쉬운코드

목록 보기
1/18

객체(Object)의 정의

  • 객체란 상태가 있고 행동을 하는 실체를 의미함
  • 객체는 클래스로부터 생성됨

클래스(Class)의 정의

  • 클래스는 어떠한 속성이 있고 어떻게 행동하는지를 기술한 설계도
  • 클래스는 객체의 관점에서 어떤 속성이 있고 어떻게 행동하는지를 기술한 설계도임
  • 클래스는 객체의 속성 그리고 그 객체가 어떻게 행동하는지를 기술한 설계도임
  • 결국 클래스는 일종의 설명서임

클래스와 객체의 차이

  • 클래스는 속성에 대한 것을 기술함
  • 클래스의 객체를 비교할 때 속성과 상태의 차이가 무엇인지 이해를 하면 좋을 것 같음
  • 인스턴스는 오브젝트와 혼용해서 사용함

인스턴시에이션 (instantiation)
객체 지향 프로그래밍에서, 특정한 클래스 또는 프로세스에 대하여 인스턴스를 만들어 내는 일. 물리적 공간에 영역을 할당하여, 실제로 이름을 가진 독립된 객체를 다룰 수 있게 된다.
*인스턴트는 오브젝트와 혼용해서 쓰기도 한다.

정리 : 클래스와 객체의 개념

  • 클래스는 내가 원하는 속성과 행동을 구체적으로 기술한 것임
  • 그렇게 기술한 대로 실체화된 것이 바로 객체인 것임

예제 1

class Car {
	private String name;
    private double speed;
    private Size size;
    ...
    
    
    public void start() {...}
    public void stop() {...}
    ...
}

Car myCar = new Car("니로");
Car yourCar = new Car("소나타");
Car ourCar = new Car("스포티지);
    

예제 2

class Counter {
	private int count = 0;
    public void increment() {
    	count++;
    }
    
    public int get() {
    	return count;
    }    
}

// 위가 클래스, 아래가 객체.

Counter appleCounter = new Counter();
Counter orangeCounter = new Counter();

예제 3

class Switch {
	
    private int state = 0;
    
    public void on() {
    	this.state = 1;
    }
    
    public void off() {
    	this.state = 0;
    }
    
    public boolean isOn() {
    	return this.sate == 1;
    }
}

Swtich tvSwitch = new Switch();



profile
Engineer, Look Beyond the Code.

0개의 댓글

관련 채용 정보