객체지향 프로그래밍(OOP : Object-Oriented Programming)
프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고, 객체들 간의 상호작용을 통해 프로그램을 설계하고 개발하는 것
객체지향 언어의 특징
- 캡슐화
- 다형성
- 상속
- 추상화 : 여러 객체들의 공통적 특징을 묶는 것
객체지향 언어의 장/단점
장점
- 상속을 통해 코드의 재사용성을 높임
- 독립적인 객체들을 사용하므로 개발의 생산성을 향상 시킴
- 절차 지향 프로그래밍은 코드 수정시 일일히 찾아서 변경해야하지만, 객체 지향 프로그래밍은 클래스 내부의 메서드나 멤버변수만 수정하면 되므로 코드 수정이 용이
- 클래스 단위로 모듈화 시켜서 개발이 가능하므로 대형 프로젝트에 적합
단점
- 절차 지향 프로그래밍은 컴퓨터 처리 구조와 비슷해 속도가 빠르지만 객체 지향은 처리 속도가 상대적으로 느림
- 클래스/객체 별로 설계하고 여러 구조 또한 설계해야하므로 많은 시간과 노력이 필요
'Develop > Java' 카테고리의 다른 글
[JAVA] 오버로딩 VS 오버라이딩 (0) | 2021.10.31 |
---|---|
[JAVA] 캡슐화 & 다형성 & 상속 (0) | 2021.10.31 |
[JAVA] 코딩테스트 자주 사용하는 함수 (0) | 2021.10.16 |
[JAVA] List Collection (0) | 2021.10.04 |
[JAVA] 자바란? (0) | 2021.10.04 |
댓글