일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 패캠챌린지
- java기초
- 자바예제
- Spring
- 디자인
- java
- 직장인자기계발
- DB
- 자바연습문제
- 리눅스
- 직장인인강
- 웹
- 자바
- 자바기초
- ncs
- 데이터베이스
- 패스트캠퍼스
- linux
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- String
- DesignPattern
- 패스트캠퍼스후기
- 디자인패턴
- 자바기본
- 국비
- 재택근무
- js
- 스프링
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- javabasic
- Today
- Total
FIF's 코딩팩토리
패스트캠퍼스 챌린지 12일차 본문
객체와 객체지향
지금까지 자바의 기본문법을 쭉 살펴봤다.
앞으로 객체에 대하여 공부를 해보겠다.
대표적인 프로그래밍 언어 종류로 절차지향 언어와 객체지향 언어가 있다.
절차지향 언어의 대표로는 C언어가 있고, 객체지향 언어의 대표로는 C++, C#, Java, Kotlin 등이 있다.
절차지향 언어의 장점으로는 실행 속도가 매우 빠르다는 점이다. 단점으로는 코드가 방대해지면 수정 및 유지보수가 어렵다.
절차지향 언어의 장단점 반대가 객체지향 언어이다.
그래서 절차지향 언어는 하드웨어 쪽 즉, 빠른 응답이 필요할 때 많이 쓰이고 객체지향 언어는 웹 사이트 등 만드는데 많이 쓰인다.
그렇다면 객체란 과연 무엇인가?
프로그래밍에서 객체란 의사나 행위가 미치는 대상(사전적 의미) 이다.
좀더 간단히 얘기 하면 '명사' 이다.(학생, 회원, 생산, 주문, 배송)
아침에 일어나 학교를 가는 과정을 예로 들어보자.
절차 지향 프로그래밍에서는
일어난다 -> 씻는다 -> 밥을 먹는다 -> 버스를 탄다 -> 요금을 지불하다 -> 학교에 도착한다.
이렇게 된다. 한마디로 시간의 흐름대로 진행된다.
객체지향 프로그래밍에서는 객체를 선언하고 위의 화살표 과정들이 유기적으로 연결되어 있다고 생각 하면 된다.
객체로는 학생, 밥, 버스, 학교 가 있는데 이 객체들은 서로 협력한다.
학생과 버스의 협력은 '탄다' 이다.
그렇다면 객체 지향 프로그램은 어떻게 구현할까?
객체를 정의하고 각 객체가 제공하는 기능들을 구현하고 각 객체가 제공하는 기능들 간의 소통(메시지 전달)을 통하여 객체간의 협력을 구현하면 된다.
앞으로 객체라는 말을 정말 많이 들을것이고 이를 구현해야 한다.
객체의 본질을 잘 이해하자.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 14일차 (0) | 2022.02.06 |
---|---|
패스트캠퍼스 챌린지 13일차 (0) | 2022.02.05 |
패스트캠퍼스 챌린지 11일차 (0) | 2022.02.03 |
패스트캠퍼스 챌린지 10일차 (0) | 2022.02.02 |
패스트캠퍼스 챌린지 09일차 (0) | 2022.02.01 |