티스토리 뷰

피카소의 추상화 소

  • 추상화 (Abstract) 공통의 속성이나 기능을 묶어 이름을 붙이는 것
    객체 지향적 관점에서는 클래스(Class)를 정의하는 것을 추상화라고 정의 내릴 수 있겠다.

    상세한 정보는 무시하고 필요한 정보들만 간추려서 구성!

    ex) 물고기, 토끼, 햄스터, 기린이 있을 때 우리는 이것들을 각각의 객체(Object)라고 하며,
           이 객체들을 하나로 묶으려 할 때, 동물 또는 생물이라는 어떤 추상적인 객체로 크게 정의해 볼 수 있겠다.
           이때, 동물 또는 생물이라고 묶는 것을 추상화라고 한다.

 

캡슐화!

  • 캡슐화 (Encapsulation) 

      관련된 필드(속성)와 메소드(기능)를 다루는 방법들을 하나로 결합시켜 묶는 것 외부로부터 실제 작동 원리(여기서
        는 기능)를 알 수 없게 따로 저장 되어 있다.

        만일의 상황(타인이 외부에서 기능에 접근해 조작)을 대비해서 특정 속성이나 메서드를사용자가 조작할 수 없도록
        숨겨 놓았다.

 

 

 

 

이어받기!

  • 상속 (Inheritance)

    이미 작성된 클래스(상위=부모 클래스)의 특성을 그대로 이어받아
    새로운 클래스(하위=자식 클래스)를 생성하는 기법
    기존 코드를 그대로 재사용하거나 재정의한다. (재사용 + 확장)

 

다형성은 리모콘을 예시로 생각해 볼수 있다.

 

  • 다형성 (Polymorphism)

    사전적 의미 :     '다양한 형태로 나타날 수 있는 능력'같은 기능(Method)를 호출하더라도 객체에 따라 다르게 동작하는 것 상위 클래스의 동작을 하위 클래스에서 다시 정의하여 사용하는 것 또한 다형성으로 볼 수 있겠다.

 

         다시 정의하여 사용하는 것 ---> Overriding(오버라이딩)

 

 

 

 

해당 수업은 '스마트인재개발원'에서 '지능형IoT 융합SW 전문가과정(NCS)과정'에서 진행한 교육내용입니다.

 

 

스마트인재개발원

4차산업혁명시대를 선도하는 빅데이터, 인공지능, 사물인터넷 전문 '0원' 취업연계교육기관

www.smhrd.or.kr

 

댓글