본문 바로가기

자소서 및 면접

객체지향 프로그래밍

반응형

<객체지향(Object-Oriented) 프로그래밍 키워드>

    클래스, 객체, 메서드(메시지), 추상화, 캡슐화, 상속, 다형성

 

객체지향이란?

    실제 세계를 가상 세계로 구현하기 위해 실제 사물을 추상화해 객체를 만들고, 그 객체들 간의 유기적인 상호작용을

    통해 로직을 구성하는 프로그래밍 방법.

 

추상화란?

    실제 사물의 속성과 기능을 분석한 다음, 공통적인 속성(변수)과 기능(메서드)을 추출해 정의하는 것.

    ex) 벤츠, 아우디, BMW --> 자동차 /  장미, 해바라기, 히아신스 --> 꽃

       

클래스란?

    사물을 추상화하여 속성과 기능을 정의해 놓은 것으로, 간단히 객체를 정의한 틀 또는 설계도라 할 수 있다.

    ex) 자동차 클래스 --> 속성: 모델명, 색상, 제조사, 최고속도, 소유자 등 /  기능: 시동, 주행, 브레이크 등

 

객체란?

    클래스의 인스턴스. 클래스의 속성과 기능을 가지고 있다.   

    ex) 자동차 클래스 --> 벤츠, 아우디, BMW : 객체 별로 각기 다른 특징을 가지고 있다.

 

중간 정리

    객체들과 그 객체들 간의 상호작용(메시지를 주고 받음)을 통해 로직을 구성하는 프로그래밍 방법.

    cf) 절차지향 프로그래밍

 

객체지향의 특징 4가지

1. 추상화

    -실제 사물의 속성과 기능을 분석한 다음, 공통적인 속성(변수)과 기능(메서드)을 추출해 정의하는 것.

 

2. 캡슐화

    -객체가 내부적으로 기능을 어떻게 구현하는지 감추는 것으로 낮은 결합도를 유지할 수 있도록 설계하는 것.

    -캡슐화를 통해서 한곳의 변화가 다른 곳에 미치는 영향을 최소화한다.

    -변수를 private으로 하고 getter와 setter 등을 사용하는 이유도 캡슐화에서 찾을 수 있다.

  

3. 상속

    -기존의 작성된 클래스를 재사용하여 새로운 클래스를 작성하는 것. 

    -상속을 사용하여 클래스 작성시 적은 양의 클래스로 새로운 클래스를 작성할 수 있고, 코드를 공통적으로

     관리할 수 있기 때문에 코드의 추가 및 변경이 용이하다.

    -상속해주는 클래스를 부모, 조상, 상위 클래스, 상속 받는 클래스를 자식, 자손, 하위 클래스 등이라 부른다.

 

4. 다형성

    -서로 다른 클래스의 객체가 같은 메시지를 받았을 때, 각자의 방식으로 동작하는 능력

    -동일한 명령의 해석을 연결된 객체에 의존

    -객체지향의 핵심

    

객체지향의 장점과 단점

    -장점: 코드의 재활용성이 높고, 확장과 수정에 유연하다.

    -단점: 설계에 많은 시간이 소요되며, 절차지향에 비해 다소 처리속도가 느리다.

 

 

+)

객체지향의 설계 원칙 : SOLID

반응형

'자소서 및 면접' 카테고리의 다른 글

SSAFY 6기 인터뷰 후기  (0) 2021.06.30