자바 기본 배우기 -객체지향프로그래밍이란-

1. 객체지향 프로그래밍(OOP, Object Oriented Programming)

 

"현실세계는 모두 객체로 이루어져 있으며, 현실세계에서 발생하는 사건들은 객체와 객체의 상호작용으로 이루어진다"

 

 

사람이 컴퓨터로 검색하고 프로그래밍하면 컴퓨터는 검색에 대한 결과, 프로그래밍의 결과인 프로그램을 제공

 

상호작용은 클래스의 메소드로 나타남

 

 

1) 객체: 사물과 같이 유형적인 것과 개념이나 논리와 같은 무형적인 것들

 

유형적인 것? = 자동차, 자전거, 스마트폰 등등 물리적인 형태

 

무형적인 것? =  눈에 보이지만 인지하고 쓸 수 있는 학과, 강의 등등

 

2) 지향(指向): 작정하거나 지정한 방향으로 나아감

 

3) 객체 모델링: 현실세계의 객체를 SW객체로 설계하는 것이다

 

예를 들어 사람은 어떤 것들을 가지고 있을까?

 

이름, 나이, 키, 몸무게, 등등등

 

이들은 사람의 속성을 나타낸다. 사람이 가질 수 있는 특징

 

밥을 먹는다, 공부를 한다, 등등 

 

이들은 사람의 행동, 기능을 나타낸다.

 

 

어떤 특정 대상이 무엇을 가지고 있고(속성) 어떤 행동을 할 수 있는지(행동,기능)

 

이들을 뽑아내는걸 대상에 대한 객체 모델링이라 한다

 

이렇게 객체들을 만들고 조립하면서 프로그래밍하는 것이 객체지향 프로그래밍

 

2. OOP is A PIE

 

객체지향 프로그래밍의 특징

 

Abstraction(추상화)

 

현실의 어떤 것을 이런, 저런 특징이 있다고 클래스로 만드는 것

 

Polymorphism(다형성)

 

하나의 객체가 여러가지 타입으로 참조될 수가 있다

 

Inheritance(상속)

 

부모가 있고, 자식은 그것들을 물려받아 새롭게 정의하여 코드를 줄일수도 있다

 

Encapsulation(캡슐화)

 

데이터를 직접 외부에 노출시키지 않고 메소드를 이용해서 보호할 수 있다

 

이런 특징들에 의해 객체지향프로그래밍은 코드의 재사용성을 높이고 코드 관리가 용이해지며 신뢰성이 높은 프로그래밍을 가능하게 한다

 

TAGS.

Comments