일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- arraylist
- 쇼핑몰 프로젝트
- 스프링 쇼핑몰 프로젝트
- 로그인 기능
- 스프링 HikariCP
- spring 프로젝트
- 스프링 업로드
- 정규표현식
- 스프링 쇼핑몰
- 쇼핑몰 포트폴리오
- spring 쇼핑몰
- 스프링 프로젝트 설정
- 인증번호 전송
- 스프링 이미지
- 삭제 구현
- 스프링 포트폴리오
- Bcrypt
- 회원가입 기능
- 스프링 파일 삭제
- 파일 업로드
- 스프링 프로젝트
- BCrypt 적용
- 스프링 메일 전송
- ResponseEntity
- 스프링 게시판 구현
- 스프링 게시판
- oracle 설치방법
- 스프링 프로젝트 기본 설정
- 로그아웃 기능 구현
- 이미지 출력
Archives
- Today
- Total
Kim VamPa
객체지향언어란? 본문
728x90
반응형
목표
- 객체지향 개념은 무엇인가?
- 객치지향의 특징은 무엇인가?
- 객체지향의 장단점은 무엇인가?
- 객체지향을 사용하고있는 언어는 무엇이 있는가?
객체지향 프로그래밍(Object-oriented programming)이란?
- 객체지향 프로그래밍이란 '객체'라는 개념을 기반으로한 프로그래밍 패러다임중 하나이다.
- 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 '객체'들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.
- 객체지향의 기본 개념은 '실제 세계는 사물(객체)로 이루어져 잇으며, 발생하는 모든 사건들은 사물간의 상호작용이다.' 이다.
특징은 무엇인가?
- 자료 추상화
: 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단히 만드는 것 - 상속
: 새로운 클래스가 기존의 클래스의 자료와 연산을 이용할 수 있게 하는 기능 - 다중 상속
: 클래스가 2개 이상의 클래스로부터 상속받을 수 있게 하는 기능 - 다형성
: 어떤 한 요소에 여러 개념을 넣어 놓는 것(오버라이딩, 오버로딩 이에 해당) - 캡슐화
: 데이터(속성)와 데이터를 처리하는 함수를 하나로 묶은 것을 의미
장점
- 재사용성
: 새로운 코드를 작성할 때 기존의 코드를 이용해서 쉽게 작성할 수 있게 함 - 생산성 향상
: 객체지향에서 궁극적인 목표는 잘 설계된 클래스를 만들어 라이브러리로 재사용하는 것이며 이를 이용함으로써 개발의 생산성을 향상시킬 수 있음 - 코드의 관리가 용이
: 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. - 유지보수의 용이성
: 객체지향 프로그램은 기존의 기능을 수정하더라도 캡슐화로 인해 주변에 미치는 영향이 적어 시스템을 유지하기 수월함
단점
- 캡슐화의 격리 구조 설계로 인한 성능 하락이 있다.
- 개념을 기준으로 나누었기때문에 반복 연산이 컴퓨터 친화적이지 않다.
- 객체가 많아 질수록 성능이 하락한다.
Reference
- https://ko.wikipedia.org/wiki/%EA%B0%9D%EC%B2%B4_%EC%A7%80%ED%96%A5_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D
- http://blog.naver.com/PostView.nhn?blogId=pmw9440&logNo=221405837370&parentCategoryNo=&categoryNo=27&viewDate=&isShowPopularPosts=true&from=search
- https://coding-factory.tistory.com/328
- https://namu.wiki/w/%EA%B0%9D%EC%B2%B4%20%EC%A7%80%ED%96%A5%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D
DATE
- 2020.03.17 글 등록
728x90
반응형
'공부 > 자바' 카테고리의 다른 글
[Java]다형성(polymorphism)이란? (0) | 2020.04.24 |
---|---|
[Spring] JDBC란? Connection pool이란? (0) | 2020.04.03 |
JDK(Java Development Kit) 설치방법[자바 개발자버전 설치] (0) | 2020.03.19 |
컴파일(Compile), 링크(Link), 빌드(Build) 정리 (0) | 2020.03.18 |
고급언어, 저급언어란? (0) | 2020.03.17 |
Comments