객체 지향 프로그래밍 OOP

ddimi·2022년 9월 21일
0

SEB_FE_41

목록 보기
5/14

- 사람이 세계를 보고 이해하는 방법을 흉내 낸 방법론

  • 주요 개념
  1. 캡슐화Encapsulation
    1) 데이터(속성)와 기능(메서드)를 하나의 단위로 객체 안에 넣어서 묶는 것
    2) 느슨한 결환(Loose Coupling)에 유리
    - 코드 실행 순서에 따른 절차적 코드 작성이 아닌 코드가 상징하는 실제의 모습과 닮게 코드를 모아 결합하는 것
    3) 특징 : 은닉화(hiding)
    - 내부의 데이터 및 구현이 외부로 노출되지 않도록 만들고, 객체 외부의 메서드(필요 동작)만 노출시킴
    4) 장점 : 코드를 복잡하지 않게 만들어 재사용성을 높임

  2. 상속 Inheritance
    1) 부모 클래스의 특징을 자식 클래스가 물려받는 것
    2) 코드의 중복을 줄이고 재사용 가능한 조각들을 만듦
    3) 각각의 클래스에 중복으로 사용된 코드가 있다면 상위의 클래스를 만들어서 중복을 줄일 수 있음

  3. 추상화 Abstraction
    1) 내부의 복잡한 구현을 실제 노출부분에 단순한게 담음
    2) 단순한 인터페이스 → 클래스 정의 시, 메서드와 속성만을 정의함
    3) 장점 : 코드를 복잡하지 않게 만들어 단순화된 사용으로 변호에 댜한 영향을 최소화함
  4. 다형성 Polymorphism
    1) 같은 이름을 가진 메서드 일지라고 조금씩 다르게 작동함


객체 지향 프로그래밍 이전에는 흙을 빚어서 집을 지어야했지만, 그 이후로는 클래스 라는 모형틀을 만들고 흙을 그 틀에 넣고 구우면 모양과 용도가 뚜렷한 벽돌이 만들어짐

0개의 댓글