객체지향 프로그래밍이란?

김나우·2022년 5월 1일
0

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

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

프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고

그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다.

장점

  • 코드 재사용이 용이

    • 남이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서 사용 가능
  • 유지보수가 쉬움

    • 객체지향 프로그래밍에서는 수정해야 할 부분이 클래스 내부에 멤버 변수 혹은 메서드로 존재하기 때문에 해당 부분만 수정하면 됨.

단점

  • 처리 속도가 상대적으로 느림

  • 객체가 많으면 용량이 커질 수 있음

  • 설계시 많은 시간과 노력이 필요


클래스와 인스턴스(객체)

클래스 : 클래스는 객체를 정의하는 틀 or 설계도와 같은 의미로 사용

인스턴스 : 클래스에서 정의한 것을 토대로 실제 메모리에 할당된 것.

추상화(자료의 추상화)

한줄요약 : 공통의 속성이나 기능을 묶어 이름을 붙이는 것.

캡슐화

  1. 코드를 재수정 없이 재활용 하는 것
  2. 접근 제어자를 통한 정보 은닉

객체지향 프로그래밍에서 기능과 특성의 모음을 클래스 라는 캡슐에 분류해서 넣는 것이 캡슐화

상속

부모 클래스의 속성과 기능을 그대로 이어받아 사용할 수도 있고

기능의 일부분을 변경해야 할 경우 상속받은 자식클래스에서 해당 기능만 다시 수정(정의)하여

사용할 수 있게 하는 것.

다형성

오버라이딩 : 상위 클래스의 메소드를 재정의 하는 것. 런타임 다형성

오버로딩 : 같은 클래스 내에서 동일한 메소드 이름을 가지지만, 매개변수 타입, 개수가 다르게 구현할 수 있는 것.

profile
안녕하세요

0개의 댓글