OOP

🪐 C:on·2021년 8월 8일
0

Development_sense

목록 보기
5/6

OOP


OOP는 객체지향 프로그래밍으로 실제 어느 사물에 대입하여 프로그래밍하는 거라고 설명들한다.

딱 정의할 수 있는 건 객체지향은 프로그래머들이 프로그래밍을 더 쉽게, 더 잘하기 위해 만든 방법론이라는 것이다.

데이터와 기능이 클래스로 캡슐화된 컴퓨터 자원의 묶음을 객체라고 한다.

대학교에서 강의를 들으면 이것을 붕어빵에 비유하는데 밀가루클래스라는 붕어빵 틀에 찍혀서 객체라는 붕어빵이 나오게 되는것이라고 설명한다.

즉, 무의미한 재료클래스라는 틀에 넣으면 유의미한 데이터와 기능을 가진 객체가 되는 것이다.


🔎객체 지향 특성

  • 은닉성 : 내부구조는 private으로 감춰놓고 외부에서 조작해도 되는 것은 public으로 공객하는 것, 이로 바깥의 간섭으로 발생하는 오류를 방지할 수 있음

  • Interface : 상세한 구현은 생각하지 않고 객체들이 가진 공통부분을 뽑아 설계하는 것, 쉽게 말해 어떠한 기능을 정의 해놓지 않고 단지 비슷한 기능을 모아서 어떻게 만들겠다고 추상적으로 선언만 해놓은 것

    • 예를들어 바닥쓸이라는 클래스가 있고 칠판닦이라는 클래스가 있을 때 둘다 청소담당이라는 interfacce를 지정해주면서 필수적으로 설정해야하는 메소드를 정의해주면 청소라는 한번의 함수로 각각의 클래스로 만든 객체들이 바닥쓸이와 칠판닦는 동작을 시킬수 있다.
    • 상속과 달리 두개의 클래스에 interface가 지정됨에 자유로움. 상속은 두 부모클래스를 가지는 것에 불가능하거나 부작용이 많음
  • 조립 : 클래스를 조립해서 또 다른 클래스를 생성

  • 상속 : 부모 클래스의 변수들과 메소드들을 그대로 물려받아서 중복을 없애고 거기에 새로운 변수와 메소드를 추가하여 새로운 클래스를 자식클래스로 생성

  • 추상클래스 : 자체적으로는 객체를 만들 수 없지만 자식클래스들이 공통적으로 가져야 하는 변수와 메소드만 정의하여 자식클래스에 활용되는 클래스, 즉 자식클래스의 공통 분모 역할만을 위한 클래스라고 볼 수 있음

  • 다향성 : 부모 클래스에서 정의된 메소드의 작업이 자식클래스에 다른 것으로 override(대체)될 수 있는 걸 말함



0개의 댓글