Knowledge/CS

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

YoonJong 2022. 12. 3. 23:10
728x90
반응형

객체지향 프로그래밍은 프로그래밍에서 필요한 데이터와 동작을 객체로 만들어 구현하는 기법이다.

클래스와 객체를 기반으로, 객체지향의 주요 특징인 캡슐화, 상속, 추상화, 다형성 등의 기법을 사용해 프로그래밍을 한다.

 

클래스 : 속성과 행위를 변수와 메서드로 정의한 것.

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

ex) 레고(객체) 를 조합해서 프로그래밍을 하는 것을 객체지향 프로그래밍

 

객체지향의 장점

1. 상속을 통한 코드 재사용성이 용이하다.

2. 유지보수가 비교적 쉽다

 

객체지향의 단점

1. 처리속도가 상대적으로 느리다.

2. 설계시 많은 시간과 노력이 필요하다.

 

  • 캡슐화 : 변수와 메서드를 하나로 묶는 것 ( 낮은 결합도 유지 )
  • 상속 : 속성과 행위를 하위클래스에게 물려주는 것 ( 기존의 클래스의 메소드를 이용 )
  • 추상화 : 객체에서 공통된 속성과 행위를 추출하는 것 ( 불필요한 정보를 숨기고 중요한 정보만 표현 )
  • 다형성 : 한개의 변수명, 메소드명에 상황에 따라 다른의미로 해석 ( 오버라이딩 : 상위클래스 메소드 재정의 / 오버로딩 : 같은 이름의 메서드에 인자의 개수 또는 자료형을 다르게 설정 )

 

좋은 객체지향을 위한 설계 방법 SOLID 관련 포스팅

  • SRP : 단일 책임 원칙 ( Single Responsibility Principle) 
    - 하나의 클래스는 하나의 책임만 가져야 한다.
  • OCP : 개방-폐쇄 원칙 ( Open/Closed Principle)
    - 확장에는 열려있으나 변경에는 닫혀 있어야 한다.
  • LSP : 리스코프 치환 원칙 ( Liskov Substitution Principle )
    - 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다.
  • ISP : 인터페이스 분리원칙 ( Interface Segregation Principle )
    - 인터페이스를 클라이언트에 특화되도록 분리
  • DIP : 의존관계 역전 원칙 ( Dependency inversion priciple )
    - 구체화에 의존하지 말고 추상화에 의존해야 한다.

https://josteady.tistory.com/653

 

좋은 객체 지향 설계의 5가지 원칙(SOLID)

SRP : 단일 책임 원칙 ( Single Responsibility Principle) OCP : 개방-폐쇄 원칙 ( Open/Closed Principle) LSP : 리스코프 치환 원칙 ( Liskov Substitution Principle ) ISP : 인터페이스 분리원칙 ( Interface Segregation Principle ) DIP

josteady.tistory.com

 

728x90
반응형