안녕하세요 jay입니다
오늘은 다른 포스팅보단 좀 더 중요한 포스팅입니다
바로 클래스와 객체에 대해 알아보는 시간입니다!
객체지향프로그래밍(OOP : Object Oriented Programming)에서
가장 기본적인 개념(기본 = 중요)이니 만큼
여러분들께서도 각자 정리를 잘 해놓으시는게
중요하다 생각합니다!
객체(Object)
먼저 객체에 대해 알아보겠습니다
프로그래밍을 처음 접하신 분들은
이 개념이 잘 와닿지 않을수도 있습니다.
객체는 간단히 "실세계에 존재하거나 생각할 수 있는 것"
이라고 생각하시면 됩니다!
예를 들어 자동차, 비행기, 사람 등 모두 객체가 될 수 있죠!
객체지향프로그래밍에서 객체는
속성과 동작으로 구성되어있습니다
속성 = 필드, 동작 = 메소드(함수)입니다.
예를 들어 사람이라는 객체의 속성(필드)은
이름, 나이 등이 있고
사람의 동작(메소드)는
먹는다,잔다,논다 등이 있겠죠?
클래스(Class)
그렇다면 클래스는 무엇이냐?
저희가 만들고 싶은 객체가 있다면,
이 객체를 설계를 해야겠죠?
객체의 설계도를 클래스(Class)라고 합니다.
즉 클래스 안에는 객체를 생성하기 위한 속성(필드), 동작(메소드)가
정의되어 있습니다.
클래스로 부터 만들어진 객체를 클래스의 인스턴스(instance)라고 합니다
그리고 클래스로 부터 객체를 만드는 과정을 인스턴스화라고 합니다
*여기서 잠깐
객체(Object) vs 인스턴스(instance)
클래스로 부터 만들어진 객체를 인스턴스라고 정의를 내렸습니다.
그렇다면 객체와 인스턴스의 차이가 무엇일까요?
사실 의미는 비슷하다고 보시면 됩니다
여기서 만들어진 객체는 cat입니다.
cat이라는 객체는 Animal의 instance입니다.
즉 인스턴스는 어떤 클래스의 객체인지 나타내는 관계를 설명할 때 사용합니다.
new 연산자
클래스로 부터 객체를 생성하는 방법은 new 연산자를 이용하면 됩니다.
new 연산자 뒤에는 생성자가 오는데, 생성자는 클래스() 형태를 가지고 있습니다.
(여기선 Animals()가 생성자입니다)
new 연산자로 객체를 생성했지만
객체의 위치를 모르면 객체를 사용할 수 없습니다.
그래서 new 연산자는 개체를 생성시킨후, 객체의 주소를 리턴합니다.
이 주소를 참조 타입인 클래스 변수에 저장하면
변수를 통해 객체를 사용할 수 있습니다.
Animals(클래스타입) cat(클래스 타입 변수) = new Animals(클래스)();
입니다.
이제 클래스와 객체에 대해 완전히 이해되셨나요?
다음 시간엔 클래스 구성 멤버(필드, 생성자, 메소드)에 대해
자세히 알아보는 시간을 가져보도록 하겠습니다!
짜이찌엔!
이제 클래스와 객체에 대해 완전히 이해되셨나요?
다음 시간엔 클래스 구성 멤버(필드, 생성자, 메소드)에 대해
자세히 알아보는 시간을 가져보도록 하겠습니다!
짜이찌엔!
댓글
댓글 쓰기