[TIL] 객체 지향 프로그래밍

송인선·2022년 7월 22일
0

TIL

목록 보기
6/16

Today I Learn...

초기의 절차적 언어에서 객체 지향 언어로..! 🚀

순차적인 명령의 조합 (함수로 이동하는 것이 전부)
-> 데이터와 기능이 별개 취급되지 않고, 클래스로 한번에 처리

❗️ 엄밀히 말하자면 자바스크립트는 객체 지향 언어는 아니지만, 객체 지향 패턴으로 작성이 가능!

OOP


프로그램 설계 철학 중 하나
객체 내에는 '데이터와 기능이 함께 있다' 라는 원칙에 따라 메서드와 속성이 존재

📌 OOP Basic Concepts

  • 캡슐화 (Encapsulation)
    장점: 코드가 복잡하지 않게 만들고, 재사용성을 높인다.

    • 데이터(속성)와 기능(메서드)을 하나의 단위로 묶는 것
    • 은닉: 내부 구현은 숨기고, 메서드의 동작은 노출시킴
    • 느슨한 결합에 유리: 언제든 메서드 구현을 수정할 수 있음
  • 상속 (Inheritance)
    장점: 불필요한 코드를 줄여 재사용성을 높인다.

    • 부모(기본) 클래스의 특징을 자식(파생) 클래스가 물려받는 것
  • 추상화 (Abstraction)
    장점: 코드가 복잡하지 않게 만들고, 단순화된 사용으로 변화에 대한 영향 최소화

    • 내부 구현은 복잡하지만, 실제 노출 부분은 단순하게 만드는 개념
    • 인터페이스 단순화 --> 예기치 못한 사용상의 변화 예방
    • 필요치 않은 메서드 노출x, 단순한 이름으로 정의 --> 캡슐화와 차이점
  • 다형성 (Polymorphism)
    장점: 불필요한 코드를 줄여 재사용성을 높인다.

    • 객체는 똑같은 메서드라 하더라도 다양한 형태, 즉 다른 방식으로 구현 가능
profile
캣닙같은 마성의 개발자

0개의 댓글