Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발 일기

객체 지향 프로그래밍(Object Oriented Programming_OOP)이란??? 본문

JAVA 공부

객체 지향 프로그래밍(Object Oriented Programming_OOP)이란???

개발 일기 2021. 6. 4. 21:45

안녕하세요.

금일 배운 객체 지향 프로그래밍에 대한 내용 복습을 하며 블로그에 공유합니당!

 


객체 지향 프로그래밍(Objec Oriented Programming)

1. 객체 지향 프로그래밍이란??
현실세계가 객체(ex. 자동차, 학생, 등등 실체 및 개념 : 명상형)들의 상호작용으로 이루어지듯 
컴퓨터 프로그램도 객체라는 독립적 단위로 구성하여 객체들 간의 메시지 교환을 통해 

상호작용 함으로 써 전체 프로그램이 운영되는 개념

2. 장점
- 코드 분석이 용이
- 객체의 재사용을 통해 개발 생산성 증대 가능
- 유지 보수 및 확장이 용이하기 때문에 대규모 소프트웨어 강점

3. 객체지향 기술의 기본 구성 요소

1) 현실 세계의 객체(Object)
- 소프트웨어 개발 대상이 되는 현실세계에 실제 존재하거나 개념적인 것
 ex) 컴퓨터, 자동차, 도서, 학생 등등
- 객체는 식별 가능하며, 자신의 특성과 정보를 "상태(state)"로 가지며, 이를 바탕으로 한 "행위(Behavior)"를 외부에 제공
 -> 상태: 객체의 특성을 표현하는 개별적인 객체에 대한 속성(ex. 학생 이름, 학과, 학번 등)
 -> 행위: 객체 자신의 상태를 바탕으로 외부에 제공하는 기능(ex. 시험보기, 과제 제출 등)

2) 클래스(Class)
- 현실세계에 존재하는 특정 종류의 객체들이 가질 수 있는 상태정보와 행위들에 대하여 프로그램적으로 표현(정의)한 "사용자 정의 데이터타입(추상화한 설계도)"

- 동일한 종류의 객체들을 일반화 시킨 개념
 -> 소프트웨어 객체(Instance)를 생성 할 수 있는 구조와 정보를 가짐
- 클래스는 객체의 상태정보 저장을 위한 변수들과 행위를 구현하는 함수(메소드)들로 구성
 
3) 소프트웨어 객체(Instance)
- 클래스로부터 실제로 메모리상에 할당된 것
- 소프트웨어 객체는 자신 교유의 상태정보를 가지며, 클래스에서 정의한 기능을 수행할 수 있다.

4) 메시지(Message)
- 소프트웨어 객체들은 각각 독립적이지만, 메시지(메소드 호출)를 통해 서로 상호작용

4. 객체 지향 기술의 3대 기본 요소
현실세계 객체(Object) -> 클래스(Class) -> 인스턴스(Instance)


 

순끼 생각 2 줄 요약

현실세계에 돌아가는 일을 컴퓨터한테 시키려고 하는데 그걸 전부 일일히 할 수 없으니

클래스라는 큰 틀 안에 시킬 일들(객체)을 모아놓은 것??? 

 


제가 비전공자로써 국비지원 자바 학원을 다니고 있으면서, 학원 수업 이후

데일리 코딩 or 공부를 진행을 하려고 최대한 노력을 하고있습니다!!

 

오늘은 학원에서 자바를 하려면 반드시!! 필수적으로 알고 나아가야하는

 

객체 지향 프로그래밍(OOP)에 대한 수업을 진행하였는데요.

사실 이론 수업을 강사님께 들으면서 용어들이 너무 헷갈리고.. 무슨 말인지 백퍼센트 이해가 가지는 않아서

 

수업 끝나고 집에 와서 바로 강사님의 이론 교재를 복습해보며 글을 남깁니다!!

한번에 이해하긴 어렵지만 전체적인 가닥을 잡고 몇몇 강의들을 좀 더 찾고 공부하다보면 이제 배운 내용을 활용한 방식으로 코딩을 찍어내는 모습을 보여드리겠습니다!!

 

 

감사합니다.

Comments