본문 바로가기
지식

객체지향 언어의 특징

by Ele(단단) 2021. 12. 30.
반응형

inheritance

상위 클래스의 기능을 하위 클래스가 사용할 수 있는 개념이다. 상속이 필요한 이유는 여러 객체에서 사용되는 기능을 하나의 클래스로 분리해서 사용할 수 있도록 위함이다. 즉 중복되는 코드의 재사용성을 위함이다.

override/overload

프로그래밍에서는 오버라이드를 덮어씌우는 것으로 생각하면 좋습니다.

상속 관계인 부모 클래스와 자식 클래스 사이에서 부모 클래스의 메소드를 똑같이 가져와 사용하는 것입니다.

encapsulation

하나의 클래스 안에 필드들과 메소드들을 정의한다. 단, 이들은 클래스의 특성과 관련되어야 한다.

polymorphism

부모클레스에서 물려받은 가상 함수를 자식 클래스 내에서 오버라이딩 되어 사용되는 것

간단히 예를 들자면

군대에서 나는 K2 소총을 잡았고 동기는 K1 소총을 잡았다. 사격 훈련이 있을 때 중대장이 '준비된 사수부터 발사!'라고 외치면 나와 내친구는 명령을 받고 앞의 사로를 향해 총을 쏜다. 이때 중대장은 추상적 객체를 상속받은 모든 객체들에게 명령을 내린것이고 그 병사가 총이 뭐든간에 그냥 발사를 하라는 명령을 한것이다.

즉, 다형성이 없다면 K1 소총을 든 병사 발사, K2 소총을 든 병사 발사 라며 명령을 하나하나 내려야 할 것이다

 

반응형

'지식' 카테고리의 다른 글

SQLite MySQL PostgreSQL 차이 장단점  (0) 2023.03.17
tsx ts란 차이 다른점  (0) 2023.03.14
CSR? SSR?  (0) 2021.12.30
LOG4J?!  (0) 2021.12.29
시간 복잡도 계산하기  (0) 2021.12.22

댓글