객체 지향 프로그래밍

김윤홍·2024년 6월 10일
post-thumbnail

객체 지향 프로그래밍(Object-Oriented Programming)

프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법


  1. 각 객체들간의 관계를 설계하는 것
  2. 각 객체들이 데이터를 처리할 수 있게하는 여러 객체들의 모임

장점

코드 재사용이 용이하다 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용가능 하다.

유지보수가 쉽다. 수정해야 할 부분이 클래스 내부에 멤버 변수, 메서드로 존재하기 때문에 수정이 쉽다

클래스 단위로 모듈화시켜서 개발할 수 있으므로 개발시 업무 분담

단점

처리 속도가 상대적으로 느리고, 객체가 많으면 용량이 커질 수 있다. 설계시 많은 시간과 노력이 필요함.

객체 지향 프로그래밍의 특징

1.추상화 (Abstraction): 복잡한 시스템을 단순화하여 중요한 부분을 강조하고 불필요한 부분을 숨기는 것을 의미한다

2.캡슐화 (Encapsulation): 캡슐화는 객체의 데이터와 메서드를 하나로 묶고, 외부에서 접근을 제한하여 객체 내부의 세부 구현을 숨기는 것을 의미한다.

3.상속 (Inheritance): 상속은 기존 클래스에서 정의된 속성과 메서드를 다른 클래스에서 재사용하는 것을 말한다

4.다형성(Polymorphism): 다형성은 객체 지향 프로그래밍의 특징 중 하나로, 동일한 인터페이스를 가진 다른 클래스들이 각각의 방식으로 동작할 수 있는 능력을 말한다.

오버라이딩 (Overriding): 오버라이딩은 상속 관계에서 부모 클래스의 메서들을 자식 클래스에서 재정의하는 것을 말한다.
자식 클래스에서 부모 클래스의 동일한 메서드 이름을 사용하여 내용을 변경하거나 확장가능

오버로딩 (Overloading): 오버로딩은 동일한 함수나 메서드 이름을 가지지만 매개변수 타입, 개수, 순서 등의 다른 여러 버전의 함수를 정의하는 것을 말한다


1개의 댓글

comment-user-thumbnail
2024년 6월 12일

부지런하신 것 같아요!

답글 달기