-
14 - 생활코딩 자바강의 정리(객체 지향 프로그래밍 오리엔테이션)TIL 2023. 1. 26. 22:44
[목차]
- 객체지향프로그래밍
- 객체지향프로그래밍 추상화
- 객체지향프로그래밍 부품화
객체지향프로그래밍
- 객체들을 레고 블럭처럼 조립해서 하나의 프로그램을 만드는 것이 객체지향 프로그래밍이라고 할 수 있습니다.
- 객체지향 프로그래밍은 객체를 만드는 것 입니다.
- opentutorials.org(생활코딩) 사이트는 글목록, 본문, 댓글 기능들이 있습니다.
- 하나의 프로그램안에는 글 목록을 출력해주는 로직 글 본문을 출력해주는 로직 댓글을 추가 수정 삭제하는 로직이 있을 것 입니다.
- 하나의 프로그램은 하나의 취지를 가지고 있는 게 아니라 여러개의 목적을 가지고 있는 로직의 집합이라고 할 수 있습니다.
객체지향프로그래밍 추상화
- 해결해야할 문제, 반영해야할 현실을 소프트웨어적으로 만드는 행위를 뜻 합니다.
- 현실을 간단하게 단순화 시킨 것
- 공통된 행동, 필드를 묶어 하나의 클래스를 만드는 것을 의미합니다.(대충 이런 느낌이다 라고만 알면 됨)
객체지향프로그래밍 부품화
- 메소드를 사용하는 이유는 연관되어 있는 로직들을 결합해서 메소드라는 완제품을 만들기 위한 것 입니다.
- 메소드를 사용하면 코드의 양을 극적으로 줄일 수 있고 메소드 별로 기능을 분류되어 있기 때문에
필요한 코드를 찾기도 쉽고 문제의 진단도 빨리할 수 있다는 장점이 있습니다.
- 본체와 모니터와 키보드가 하나로 단일화가 되어 있습니다.
모니터나 키보드가 고장나면 컴퓨터 자체를 바꿔야 합니다.
- 모니터와 본체와 컴퓨터를 분리했습니다. 부품화를 시킨 것 입니다.
- 기능들을 부품화 시킨 덕분에 소비자들은 더 좋은 키보드, 저렴한 모니터를 선택할 수 있으며 어디에 문제가 생겼는 지 파악하고 해결하기도 훨씬 쉬워집니다.
은닉화, 캡슐화
제대로된 부품이라면 그것을 어떻게 만들어졌는지 모르는 사람도 그 부품을 사용하는 방법만 알면 쓸 수 있어야 합니다
모니터가 어떻게 동작하는 지 몰라도 컴퓨터와 모니터를 연결하는 방법만 알면 화면을 표시할 수 있는 것과 같습니다.
- 내부의 동작 방법을 단단한 케이스 안으로 숨기고 사용자에게는 그 부품의 사용방법만을 노출하고 있는 것을 정보의 은닉화, 또는 캡슐화라고 부릅니다.
인터페이스
잘 만들어진 부품이라면 부품과 부품을 서로 교환 할 수 있어야 합니다.
컴퓨터와 모니터를 만드는 업체들은 케이블의 규격을 공유합니다. 모니터 입장에서는 컴퓨터가 컴퓨터 입장에서는
모니터가 어떤 식으로 만들어졌는 지 신경쓰지 않습니다.각각의 부품은 미리 정해진 약속에 따라서 신호를 입, 출력하고,
연결점의 모양을 표준에 맞게 만들면 됩니다.
- 연결점을 인터페이스라고 합니다.
- 이질적인 것들이 결합하는 것을 막아주는 역할도 합니다.
- 부품들 간의 약속입니다.
'TIL' 카테고리의 다른 글
16 - 생활코딩 자바강의 정리(클래스 맴버, 인스턴스 맴버) (0) 2023.01.30 15 - 생활코딩 자바강의 정리(객체지향 클래스,인스턴스) (0) 2023.01.29 13 - 생활코딩 자바강의 정리(입력과 출력) (0) 2023.01.25 12 - 생활코딩 자바강의 정리(메소드) (0) 2023.01.24 11 - 생활코딩 자바강의 정리(배열 for-each) (2) 2023.01.22