추상클래스

이수보🧑🏻‍💻·2022년 1월 11일
0

초급

목록 보기
15/25


사진이 참 추상적이죠?? 뭔 소리냐고요? 저도 몰라요.. 추상..... 어렵다 어려워

- 추상클래스

추상클래스의 경우 문법적인 특징이나, 객체 생성 등 이러한 특징이 중요한 것이 아닙니다,
도대체 무엇이 추상클래스이고 왜 사용하는지를 알아야 쉽게 사용할 것이라고 생각합니다.

저도 그랬기 때문이죠 ㅎㅎ
음 공부할 때 그럴 경우 있죠? 이유를 모르고 외우려니 더욱 어렵지만 이유를 알고 나니 느낌이 빡 왔던 기억 한 번쯤 있죠? 추상클래스가 딱 그 경우라고 생각합니다.

추상 클래스가 무엇일까?

추상 클래스는 공통적인 부분들을 포함하고 있는 클래스이다.
그것이 뭐냐 사람으로 예를 한 번 들어보자면

사람은 모두 같은 행동을 할 수 있다.
웃고, 울고, 용변을 보고
하지만 각각의 습관, 성격에 따라 그 행동들은 다른 모습으로 비춰진다.
사이코가 웃으면 미친 놈처럼 보이고 아이돌이 웃으면 너무 이쁘다.

아이돌/사이코 같은 사람이지만 다른 모습의 웃음을 가진다.
그러나 둘은 같은 행동을 했다. 바로 웃음

웃음은 인간에게 모두 공통적인 메소드이다.

추상 메소드는 이러한 공통적인 메소드를 담아 놓는 곳이다.

근데 이름이 왜 추상인것이냐?

추상적이다. 라는 말은 모두 알것이다.
만약 클래스에 웃다라는 메소드가 있다, 그리고 그 메소드를 사용하는 사람마다 다르게 웃을 것이다.

싸이코는 미친 것처럼 아이돌은 이쁘게 등등..
때문에 단순히 웃다라는 메소드는 추상적이라는 것이다.

누군가 사용하여 결과가 확정된 것이 아니라 사용하기 전 모두나 할 수 있는 추상적인 메소드를 담고 있기 때문에 추상 클래스인 것이다.

추상클래스가 무엇인지 이제 느낌이 조금 올 수 있다.

그렇다면 이걸 왜 사용할까?

  1. 시간절약
    개발자가 되면 야근에 쫒긴다는 소리를 많이 들었다.
    그 만큼 시간이 부족한데 추상 클래스를 만들어 실체 클래스로 오버 라이딩 한다면 우리는 엄청난 시간을 절약 할 수 있을 것이다!!!
  1. 규격에 맞는 코드
    개발자의 꽃은 협업이라고 개인적으로 생각하는데 만약 공통된 메소드 조차 모두가 다르게 만든다면 그 현장은 과연 어떻게 될까? 아마 대박 깨지던가 야근에 시달릴 것이다.
    사공이 많으면 배가 산으로 가는 것처럼 규격화된 코드를 추상 클래스에 정해놓아야 한다.
  1. 유지보수 효율의 증가
    만약 한번구매 라는 메소드를 만들어 코드에 집어 넣어놨다. 이 메소드로 잘 서비스를 하는 도중 갑자기 이슈가 발생 해 메소드를 바꿔야 하는 상황이 생기면 이 한번구매 메소드는 한 번만 구매할 수 있도록 짜놓았기 때문에 지우고 다시 짜야 하는 상황이 발생한다.
    하지만 추상 클래스의 구매하다라는 메소드를 오버라이딩 하여 사용한다면 유지보수 효율을 증가 시킬 수 있다.

0개의 댓글