프로그래밍/객체 지향
[OOP] 객체, 클래스, 인스턴스란?
NIA1995
2022. 4. 10. 22:35
객체 지향 프로그래밍이란?
객체를 기반으로 하는 프로그래밍 ( OOP, Object Oriented Programming )
1. 프로그램을 여러 개의 독립된 객체 단위로 분할하여 각 객체들이 메시지를 주고 받고, 데이터를 처리하게 한다.
2. 객체 단위로 개발하기 때문에 개발에 유연성이 생기며 주로 유지 / 보수가 많고, 대규모의 소프트웨어 개발에 자주 사용된다.
객체란?
세상의 모든 것을 지칭 ( 사람, 자동차 등 )
추상적인 개념으로 데이터를 나타내는 속성과 행위를 나타내는 기능으로 구분하여 각 객체의 특징을 뽑아서 사용한다.
예) 자동차
속성 : 바퀴( 개수, 크기 등 ), 핸들( 반지름, 색상 등 ), 기어, 브레이크 등
기능 : 전진, 후진, 방향 전환, 감속 등
클래스란?
객체를 표현하는 속성(변수)와 기능(메소드)을 하나의 집합으로 묶은 단위
예) 붕어빵을 만들 때
붕어빵 틀에 반죽과 팥소를 넣고 돌리며 굽는다.
문어빵 틀 = 클래스
문어빵 = 객체 ( 객체를 클래스를 통하여 메모리를 사용해 실체화 할 경우 이것을 '객체의 인스턴스화' 라고 하며, 메모리를 가진 객체는 인스턴스이다. )
예)
Bread Baguette, Donut; => 브레드 클래스의 '객체'
Baguette = new Bread();
Dount = new Bread();
=> 바게트와 도넛은 브레드 클래스의 '인스턴스' ( 객체에 메모리를 할당 )
참고 자료
1. https://youtu.be/wbzF4BNw5Zs
2. https://gmlwjd9405.github.io/2018/09/17/class-object-instance.html