# 연습문제 D - 객체지향 프로그래밍
## 10 클래스와 객체
---
#### OOP
- 객체지향 프로그래밍(OOP)은 객체를 조립하여 전체 프로그램을 만드는 것이다.
- OOP는 유지 보수성, 재사용성, 확장성이라는 장점이 있다.
#### 클래스
- 클래스는 객체를 만들기 위한 설계도이다.
- 필드는 객체의 상태를, 메소드는 객체의 동작을 정의한다.
#### 클래스 다이어그램
- 클래스 다이어그램이란, 클래스를 그림으로 만든 것이다.
- 클래스 다이어그램을 코드로 구현할 수 있다.
## 11 생성자
---
#### 정의 및 역할
- 생성자는 객체를 만드는 특별한 메소드다.
- 생성자는 역할은, 객체 생성과 필드 초기화이다.
#### 특징
- 필드 초기화를 위해서는 파라미터가 있는 생성자를 정의해야 한다.
- 클래스에 생성자가 없을 땐, 디폴트 생성자가 추가된다.
## 12 레퍼런스 변수와 static
---
#### 레퍼런스 변수
- 레퍼런스 변수란, 객체를 가리키는 변수다.
- 기본형 변수는 값을 직접 저장하나, 레퍼런스 변수는 객체의 위치를 가리킨다.
#### static 키워드
- static 키워드는 필드와 메소드에 적용될 수 있다.
#### 클래스 변수
- 클래스 변수란, 클래스 영역에 존재하는 변수다.
- 인스턴스 변수란, 객체 내부에 존재하는 변수다.
#### 인스턴스 변수
- 클래스 메소드란, 주체 객체가 없이 수행되는 메소드다.
- 인스턴스 메소드란, 주체 객체가 실행하는 메소드다.
## 확인하기
---
<div class="interact_responsive_padding" style="padding:100% 0 0 0;position:relative;margin-bottom:5px;"><div class="interact_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><iframe id="interactApp5cecec051077800014b551cd" width="100%" height="100%" style="border:none;max-width:100%;margin:0;" allowTransparency="true" frameborder="0" src="https://quiz.tryinteract.com/#/5cecec051077800014b551cd/q/1?method=iframe"></iframe></div></div>