- 핵심키워드
- 절차지향 프로그래밍과 차이점, 캡슐화, 접근제한자, 상속, 다형성
- 객체지향 프로그래밍(OOP)은 프로그래밍 패러다임 중 하나로, 현실 세계의 객체와 유사한 ‘객체’라는 개념을 중심으로 프로그램을 구성하는 방식입니다. 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체로 만들고, 객체들 간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법
- 객체 지향 프로그래밍의 특징
- 추상화
- 객체에서 공통된 속성과 행위를 추출하는 것
- 불필요한 정보는 숨기고 중요한 정보만을 표현함으로써 프로그램을 간단하게 만다는 것
- 캡슐화
- 데이터 구조와 데이터를 다루는 방법들을 결합 시켜 묶는 것(변수와 함수를 하나로 묶는 것)
- 낮은 결합도를 유지할 수 있도록 설계하는 것
- 속성과 기능을 정의하는 변수와 메소드를 클래스라는 캡슐에 넣어서 분류하는 것으로 재사용이 원활하다는 장점이 있고 캡슐화를 통해서 정보은닉을 활용할 수도 있습니다.(접근제어자의 활용)
- 상속
- 클래스의 속성과 행위를 하위 클래스에 물려주거나 하위 클래스가 상위 클래스의 속성과 행위를 물려받는 것을 의미합니다.
- 새로운 클래스가 기존의 클래스의 데이터와 연산을 이용할 수 있게 하는 기능
- 장,단점
- 장점
- 재사용으로 인한 코드가 줄어든다
- 범용적인 사용이 가능하다
- 자료와 메서드의 자유로운 사용 및 추가가 가능하다
- 단점
- 상위 클래스의 변경이 어려워진다
- 불필요한 클래스가 증가할 수 있다
- 상속이 잘못 사용될 수 있다
- 장점
- 다형성
- 하나의 변수명, 함수명이 상황에 따라 다른 의미로 해석될 수 있는 것을 의미합니다
- 오버라이딩, 오버로딩
- 오버라이딩 : 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용하는 것
- 오버로딩 : 같은 이름의 메서드가 인자의 개수나 자료형에 따라 다른 기능을 하는 것
- 추상화
- 객체지향 방식의 장단점
- 장점
- 코드의 재사용성과 유지보수성이 향상되며, 유연하고 확장 가능한 시스템을 설계할 수 있습니다.
- 단점
- 처리속도가 상대적으로 느리다
- 객체의 수가 많아짐에 따라 용량이 커질 수 있다
- 설계 시 많은 시간과 노력이 필요하게 될 수 있다
-
- 장점
댓글