1. 객체 지향 언어란?
1.1 객체지향의 의미
객체 지향 언어는 객체를 중심으로 프로그래밍하는 언어이다. 즉, 객체를 이용하여 프로그램을 구현하고, 객체들 간의 상호작용을 통해 프로그램을 실행시키는 것이다. 객체란 데이터와 그 데이터를 처리하는 함수(메서드)를 하나로 묶어놓은 것이다. 객체는 클래스를 이용하여 만들어지며, 클래스는 객체를 정의하는 틀이다.
객체지향 언어의 특징
- 코드의 재 사용성이 높다
- 코드의 관리가 용이하다
- 신뢰성이 높은 프로그래밍을 가능하게 한다
- 제어자와 메서드를 이용하여 데이터를 보호하고 코드 중복이 적기 때문
사용자 정의 타입(user-defined type)
프로그래밍 언어에서 제공하는 자료형 외에 프로그래머가 서로 관련된 변수들을 묶어서 하나의 타입으로 새로 추가하는 것을 의미한다.
- 구조체
- 클래스( java )
2. 클래스와 객체
2.1 클래스
클래스란?
- 클래스는 “객체를 정의하는 틀” 이다. 객체는 클래스에 정의된대로 생성된다.
- 제빵틀 이라고 생각하면 된다.
- JDK에서는 유용한 클래스(JAVA API)를 기본적으로 제공하고 있다.
- Class Tv
- 해당 틀에서는 TV에 필요한건
색상
전기가 들어와 있는지
채널
등을 내포하고 있다.
- TV가 동작하는건
끄기와 켜기
채널 이동
이다.
2.2 객체 (인스턴스)
객체란?
- 클래스로부터 만들어진 인스턴스들을 객체라고 부른다 인스턴스와 객체는 비슷한 말이지만, 객체는 모든 인스턴스들을 아우르는 느낌이고 인스턴스는 어떤 클래스에 대한 인스턴스(객체) 느낌이라고 생각하면 된다.
클래스와 객체의 구분이 어렵다면?
Class : Tv 설계도 → 객체 : TV
2.3 객체의 구성 요소
2.1) 속성
- 멤버 변수, 특성, 필드, 상태
2.2) 기능
- 메서드, 함수
/ | TV | 전등 |
속성 | 크기, 제조사, 전압규격 등 | 색깔, 전압, 가격 등 |
기능 | TV켜기, TV끄기, 넷플릭스 틀기 등 | 크기, 켜기 |
2.4 객체의 생성 및 사용, 참조 변수
객체의 생성, 사용
new 클래스()
형식으로 사용하면 된다. 인스턴스(객체)가 생성되는 시점부터 객체의 메모리 공간이 생성된다. 객체의 참조 변수
- 객체를 다루기 위해 사용되는 변수를 참조 변수라고 한다.
- 참조 변수는 객체의 주소를 저장한다.
예제
- 인스턴스는 참조변수를 통해서만 다룰 수 있으며, 참조변수 타입은 인스턴스의 타입과 일치해야만 한다.
객체 배열
객체 배열의 생성
- 객체 배열을 생성하는 것은 그저 그 객체를 다루기 위한 참조 변수들이 만들어진 것 뿐이다
각각의 참조 변수들에 인스턴스를 생성해 주어야 비로소 의미가 있다.