객체지향 프로그래밍

Calvin Park·2022년 6월 9일
0

현재 객체지향으로 사용하는 방법은 트랜드라고 할수가 있다.

객체지향 프로그래밍을 잘 숙달하고 잘 사용을 하면 코드에 대한 유지보수와 중복성을 줄일수 있으므로 개념 정리를 완벽하게 이해하고 넘어가야 한다.

객체지향 얄팍한 코딩->객체지향 개념

객체지향 프로그래밍은 객체들의 집합으로 프로그램의 상호 작용을 표현하고 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 활용하는 방식을 말한다.

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

  • 객체 지향 프로그래밍은 투상화, 캡슐화, 다향성, 상속성이라는 특징이있다.

추상화

  • abstraction이란 복잡한 시스템으로부터 핵심적인 개념 혹은 기능을 간추려내는것을 뜻한다. i.e 후배 John이는 미국사람, 학생, 키180, 29살 이라는 특징이 있다고 가정하면. 이러한 특징 중에서 코드로 나타낼 때 특정 미국사람, 29살을 뽑아내거나 조금 더 간추려서 나타내는 것을 말한다.

캡슐화

  • encapsulation는 객체의 속성과 메서드를 하나로 묶고 일부를 외부에 감추어 은닉하는 것을 말한다.

상속성

  • inheritance는 상위 클래스 즉 부모 클래스의 특성을 하위 즉 자식 클래스가 이어받아서 재사용하거나 추가, 확장하는 것이다. 코드의 재사용 측면, 계측적인 관계 생성 또는 유지보수성 측면에서 굉장히 중요하다.

다형성

  • polumorephism은 하나의 메서드나 클래스가 다양한 방법으로 동작하는 것을 말한다. 오버로딩 또는 오버라이딩이 대표적이라고 할 수 있다.
  • 오버로딩(Overloading)은 말 그대로 같은 이름을 가진 메서드를 여러 개 두는 것을 말한다. 메서드의 타입, 매개변수의 유형, 개수 등으로 여러 개를 둘 수 있다.
  • 오버라이딩(Overriding)은 주로 method overriding을 말하며 부모 클래스로부터 상속받은 method를 자식 class가 재정의하는 것이다. 부모 클래스에서 만들었지만 자식 클래스기반으로 메서드가 재정의가 된다는 것이다.

객체지향 프로그래밍의 설계원칙

객체지향 프로그래밍을 설계할 때는 SOLID원칙을 꼭 숙지해야하며 원칙을 지켜줘야 한다..
S -> 단일 책임 원칙.
O -> 개방-페쇠 원칙
L -> 리스코프 치환 원칙
I -> 인터페이스 분리 원칙
D -> 의존 역전 원칙을 의미한다.

  • S(SRP, Single Responsibility Principle): 모든 클래스는 각각 하나의 책임만 가져야 하는 원칙이다.
  • O(OCP, Open Closed Principle): 유지 보수 사항이 생긴다면 코드를 쉽게 확장할 수 있도록 하고 수정할 때는 닫혀 있어야 하는 원칙이다. Therefore, 기존의 코드는 잘 변경하지 않으면서도 확장은 쉽게 가능해야 한다.
  • L(LSP, Liskov Substitution Principle): 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다. Class는 상속되기 마련이고 부모, 자식이라는 계층 관계가 형성된다.
    -I(ISP, Interface Segregation Principle): 자신보다 변하기 쉬운 것에 의존하던 것을 추상화된 인터페이스나 상위 클래스를 두어 변하기 쉬운 것의 변화에 영향받지 않게 하는 원칙이다. 상위 계층은 하위 계층의 변화에 대한 구현으로부터 독립한다.
profile
Personal Velog Note

0개의 댓글