java 공부 7강 [객체지향 프로그래밍(OOP)] - 평범한 회사원

프로그램|2018. 10. 14. 00:11
















객체지향 프로그래밍 (Object-Oriented Programming), 줄여서 OOP


객체지향프로그램 이라고 가정해놓은 책과 블로그들이 많은데 처음에 객체지향을 공부할때 엄청 힘들었던것 같았다 글을 다 읽고 나서도 그래서 이게 뭔데 라는 것도 듣고 약간 이론과 코드랑 따로 생각해서 잘 매치를 못했었는데, 공부를 계속하고 보다가 어디 강의 에서 들었는데 이렇게 정리 하면 깔끔하게 정리가 된것 같았다.


객체 : 세상에 존재하는 모든것을 뜻하며. 프로그래밍 속성과 기능을 가지는 프로그램 입니다.


ex) 객체 (프로그램)

날씨 프로그램                사칙연산 프로그램


속성:온도,미세먼지         속성:+,-,/,*

기능:날시예보                속성:연산기능


클래스 : 객체를 생성하기위한 틀로 모든 객체는 클래스로부터 생성됩니다.


객체지향 프로그래밍 특징 및 장점


객체지향 프로그래밍의 가장 큰 특징은 클래스를 이용해 연관 있는 처리부분 과 데이터 부분을 하나로 묶어 객체를 생성해 사용한다는 점이 있습니다.

그리고 객체지향 프로그래밍 에서는 프로젝트를 독립적인 객체 단위로 분리해서 작업할 수 있기 때문에 여러 개발자와 협업해 규모가 큰 프로젝트를 진행할수 있습니다.또 유지보수도 뛰어난 장점이 있습니다.



객체지향 프로그래밍 VS 클래스 기반 프로그래밍


클래스 단위 프로그래밍과 객체 지향 프로그래밍이 똑같은 내용이 아닌가 생각할수도 있는데, 


답변은 반은 맞고, 반은 맞지 않다고 말씀드릴수 있습니다.


엄격한 의미에서 해석


일반적으로 객체지향 프로그래밍은 객체지향 프로그래밍의 네 가지 특징(추상화,캡슐화,상속,다형성)을 골고루 사용해서 코딩을 하는 프로그래밍을 객체 지향이라고 합니다. 클래스 단위 프로그래밍은 이런 객체지향 특징을 전햐 사용하지 않고 오직 클래스만을 이용해 코딩 하는 방식을 말합니다.

이와같이 이 둘은 전혀 다른 프로그래밍 방법이라고 말씀드릴수 있습니다.


유연한 의미에서 해석


클래사 단위 코딩을 객체지향 프로그래밍이라고 부를수 있는 이유는 클래스를 만들어 코딩하는 자체에 이미 객체지향 프로그래밍 네 가지 특징중 캡슐화와 은닉성을 사용하고 있기 떄문입니다. 이처럼 클래스 기반 프로그래밍은 객체지향 프로그래밍에 포함되는 구조를 가지고 있습니다. 또, 객체지향 프로그래밍을 배우려면 클래스 기반 프로그래밍에 익숙해져야 된다는 점입니다. 이유는 객체를 생성하고 수단이 클래스(생성자함수) 이기때문입니다.





이상입니다 : )

댓글()