본문 바로가기
캠퍼스/Java

35.OOP, 캡슐화, 상속

by Sylar 2022. 8. 2.

-oop

  믹서기 > 사과를 갈아라  => 무언가를 갈아야 하는 책임이 있는 믹서기
  사과 > 행위는 없고 정보만 있음.

- 캡슐화

   데이터와 알고리즘을 캡슐에 넣어서 포장한다는 뜻.
            

- 왜 해야하나?

     객체지향 프로그램을 짜면 여러가지 오브젝트가 생김 
     

    ex) 요리사, 종업원, 손님이 존재하는 프로그램
          오브젝트는 총 3개.
      책임 분리( 오브젝트가 해야할 행위 ) 
          - 요리사 : 요리하는 책임
          - 종업원 : 손님에게 서빙을 하는것, 계산하는것 등의 책임 ( 주문은 받는거라 자기의 행위가 아님 )
              = > 책임을 분리시켜서 적은 이유 : 서빙을 하고 계산을 한다 = 계산을 만 따로 하거나 서빙만 따로 할 수 없음.
          - 손님 : 주문하는것. 

 

- 쓰는이유

 

다른사람이 만든 데이터와 알고리즘을 호출하는 것으로 사용할 수 있기 때문.

 

 -상속 ?

    부모클래스가가 자식클래스에게 물려준다는 뜻
       
        ex) 햄버거를 만들었음 > 이후에 더블 치즈 햄버거로 만들어야 함

             햄버거에 자식클래스로 더블 치즈 햄버거를 만듦.

             상속 가능 ( = 더블 치즈 햄버거는 햄버거라 부를 수 있음. )     

          = > 부모 클래스는 추상적인 개념으로 잡아 자식태그를 구체적으로 작성함. ( = 다용성을 만족하는 것 ) 

요약

상태는 행위를 통해서 변경한다     
부모 클래스는 추상적인 개념으로 잡아 자식태그를 구체적으로 작성함. ( = 다용성을 만족하는 것 ) 

객채는 상태와 동작을 가지고 있다. 객체의 상태는 객체의 특징값 (속성)이다.
 
특징값 : 빨강, 속도 등을 나타냄 등 ( 필드 )
동작 : 기어 바꾸기 가속하기 감속하기 등 ( = 상태가 변경됨 )    


'캠퍼스 > Java' 카테고리의 다른 글

37. 오버로딩  (0) 2022.08.02
36. 생성자  (0) 2022.08.02
32.디버깅  (0) 2022.08.02
31.private  (0) 2022.08.02
30. 코드 단순화  (0) 2022.08.01