반응형
1. 객체지향 프로그래밍 OOP (Object-Orientred Programming)
객체들의 집합으로 프로그램의 상호 작용을 표현하며 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 활용하는 방식
📌 객체?
객체(Object) 는 우리 주변에 있는 모든 것 (컴퓨터, 책, 사람, 마우스 등)
자신만의 고유한 특성과 행동을 가지며 다른 객체들에게 행동을 요청하거나 정보를 주고 받는 등 상호작용을 하면서 존재
객체지향 프로그래밍 | 절차지향 프로그래밍 | |
처리방식 | 문제를 여러 개의 객체로 처리 | 문제를 여러 개의 함수로 처리 |
장점 | 코드 재사용 용이 유지보수가 쉬움 대형프로젝트에 적합 |
처리 속도 빠름 실행 속도 빠름 |
단점 | 처리 속도가 상대적으로 느림 객체가 많으면 용량이 커짐 설계시 많은 시간과 노력이 필요 |
유지보수가 어려움 대규모 프로젝트에 부적합 |
예 | JAVA, Pyhon, C# 등 | C언어 |
2. 객체지향 프로그래밍 특징
추상화 (Abstraction)
- 객체에서 공통된 속성과 행위를 추출하는 기법
- 실제 존재하는 객체들을 프로그램으로 만들기 위해 공통적인 특성을 파악하고 불필요한 특성을 제거하는 과정을 말함
캡슐화 (Encapsulation)
- 객체의 속성과 메서드를 하나로 묶고 일부를 외부에 감추어 은닉하는 기법
상속성 (Inheritance)
- 상위 클래스의 특성을 하위 클래스가 이어받아서 재사용하거나 추가, 확장하는 것, 코드의 재사용 측면, 계층적인 관계 생성, 유지 보수성 측면에서 중요
다형성 (Polymorphism)
- 하나의 메서드나 클래스가 다양한 방법으로 동작하는 것, 대표적으로 오버로딩, 오버라이딩이 있음
- 상위 클래스의 동작을 하위 클래스에서 다시 정의 (오버라이딩, Overriding)
- 하나의 클래스 내에서 이름은 같지만 서로 다르게 동작하는 메서드를 여러 개 만듦 (오버로딩, Overloading)
반응형
'개발 & 데이터베이스 > JAVA' 카테고리의 다른 글
MyBatis 동적 쿼리 if문 문법 정리 (0) | 2024.05.28 |
---|---|
자료구조 데크 deque (0) | 2024.02.21 |
JAVA 자바 정규표현식으로 주민등록번호, 이메일 유효성 검사하기 (Pattern, Matcher) (0) | 2023.08.09 |
IntelliJ IDE 다운로드 방법 및 프로젝트 생성하기 (0) | 2023.07.24 |
자바 디컴파일러 JD-GUI 사용 방법 (.jar, .class 파일) (0) | 2023.07.17 |