객체지향 프로그래밍 (Object Oriented Programming, OOP)
- 객체를 기반으로 하는 프로그래밍
- 순서 상관없이 각 객체별로 독립적 사용이 가능하며 하나의 객체가 오류가 날지라도 다른 객체에게 영향을 주지않는다.
-
더보기시작기준에서 순서대로 진행이 된다. 순서가 틀려도 안되고 한 부분에 오류가 나면 그 다음 부분 전체가 마비가 되는 순차적인 처리가 중요한 방식
언어 : c언어 - 객체(인스턴스)
- 구체적, 추상적 데이터 단위
- 클래스에서 정의한 것을 토대로 실제 메모리에 할당된 것
- 객체를 정의 → 객체의 기능구현 → 객체사이의 협력구현
- 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법
- 장점
- 코드 재사용이 용이 : 다른사람의 클래스를 가져와서 이용할 수 있고 상속을 통해 확장도 가능
- 유지보수가 쉽다 : 절차 지향 프로그래밍에서는 코드를 수정해야할 때 일일이 찾아서 수정해야하지만 OOP의 경우 수정해야 할 부분이 클래스 내부에 멤버 변수 혹은 메서드로 존재하기 때문에 해당 부분만 수정하면 됨
- 대형 프로젝트에 적합 : 클래스 단위로 모듈화시켜서 개발할 수 있으므로 대형 프로젝트처럼 여러 명, 여러 회사에서 프로젝트를 개발할 때 업무 분담하기 쉽다.
- 단점
- 처리 속도가 상대적으로 느림
- 객체가 많으면 용량이 커질 수 있다.
- 설계시 많은 시간과 노력이 필요
- 구성요소
- 클래스(Class)
- 객체(Object)
- 메서드(Method)
- 기타 속성
출처
https://jeong-pro.tistory.com/95
https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=ki
'JAVA > 언어입문' 카테고리의 다른 글
자바(JAVA) - 생성자(constructor) (0) | 2022.03.09 |
---|---|
자바(JAVA) - 클래스(class) / 메소드(method) / 인스턴스(instance) (0) | 2022.03.09 |
자바(JAVA) 반복문(while, do-while, for)/ Continue/ Break (0) | 2022.03.07 |
자바(JAVA) 조건문(if / switch-case) (0) | 2022.03.07 |
자바(JAVA)의 다양한 연산자와 우선순위 (0) | 2022.03.04 |
댓글