OOP (객체 지향 프로그래밍)

서동수·2022년 8월 1일
0

OOP
객체 지향 프로그래밍

객체들이 서로 유기적으로 상호 작용하는 프로그래밍.
코드의 재사용성, 생산성의 효과를 얻을 수 있다.

장점

1. 코드 재사용성: 상속을 통해 재사용성 증가
2. 생산성: 클래스를 바탕으로 독립적인 객체 사용으로 생산성 향상
3. 모델링: 현실세계의 구조가 객체에 녹아들어 있기에 생각을 자연스럽게 구현 가능
4. 유지보수: 프로그램 수정, 추가 발생 시 캡슐화를 통해 영향력이 적어 유지보수가 쉽고 경제적

단점

1. 개발속도: 객체에 대한 이해 및 설계단게에 시간이 소모
2. 실행속도: 객체지향언어는 대부분 실행속도가 느림
3. 코드 난이도: 상속을 다중으로 받거나 하는 경우 복잡성이 증가하고 이해도 필요

특징

객체 지향 프로그래밍의 특징은 클래스를 바탕으로 관련 있는 기능 부분(함수), 데이터 부분(변수)를
하나의 인스턴스를 생성해 사용한다.

1. 캡슐화: 데이터, 코드 형태를 외부에서 모르도록 하며 데이터 구조, 기능을 캡슐형태로 만든다.
변수를 private하게 관리하고 변수는 getter,setter를 통해 간접 접근한다.

2. 추상화: 객체의 공통 속성, 기능을 추출한다.
객체들의 공통 특징을 정의해 놓은 설계이다.

3. 상속성: 상위 클래스의 기능을 가져와 재사용하며 동시에 하위 클래스에는 새로운 것을 추가할 수 있다.

4. 다형성: 한 객체가 상속을 통해 기능을 확장 및 변경해 다른 여러 형태로 재구성 되는 것이다.

? 오버로드/오버로딩: 하나의 클래스에서 같은 이름의 메서드를 사용하지만 용도가 다르게 사용되며 결과물도 다르게 구현한다. 메서드의 이름은 같지만 매개변수, 매개변수 개수, 데이터 타입이 달라야 한다.

? 오버라이드/오버라이딩: 하위 클래스가 상위 클래스에서 만들어진 메서드를 재작성 하여 사용
profile
devLog

0개의 댓글