본문 바로가기
교육, 학습/멀티캠퍼스_풀 스택

JAVA 개념 - 객체지향(OOP)

by 개발하는 경제학도 2022. 2. 8.

강의 소개

현재 수강하고 있는 멀티캠퍼스 k-digital 지능형 웹서비스 풀 스택 과정을 수강하며 적은 내용입니다.


 

객체지향

객체지향은 추상화를 통해 유연성을 확보해 나가는 프로그래밍 설계 방법론이다.

결국, 좋은 코드란 유연성을 확보해나가는 것이다.

 

객체지향 설계 단계

1. 추상화

현실세계의 대상을 추상화하여 시스템을 설계하는 것이다.

필요한 내용은 남기고, 필요 없는 건 버린다. 현실세계가 복잡하고, 또 앞으로 복잡해져도 추상화를 하면 시스템화할 수 있다. 

 

2. 캡슐화

클래스를 설계할 때 감출 것과 드러낼 것을 결정하는 것이다. 캡슐화를 통해 클래스를 설계한다.

이때, 구체적인 것을 감춘다.

 

3. 상속

클래스가 가진 type을 다른 클래스와 공유하는 것이다.

클래스를 만든다는 것은 사용자 정의 type을 만드는 것이다. 따라서 상속의 핵심은 부모 클래스의 type을 물려받는 것이라 할 수 있다.  

 

4. 다형성

1개의 인스턴스를 여러 타입으로 다루는 것이다. 구체적인 타입을 감춰 설계의 유연성을 확보한다.

다형성이 중요한 이유는 메인 로직을 변하지 않게 하여 유연성 있는 프로그램을 만드는 것이다.

 

다형성을 통해 인스턴스를 만들 때, 부모 타입으로 만들 수 있다.

다형성으로 인하여 부모 타입의 배열로 자식들을 묶을 수 있다. 즉, 개별적인 클래스들을 1개의 부모 타입으로 다룰 수 있게 된다. 

 

** 결합도

한 개의 클래스를 변경할 때 다른 클래스가 영향을 많이 받는 것이 결합도가 높은 것이다. 따라서 캡슐화를 해서 결합도를 낮추는 것이 중요하다.

다시 말하자면, 한 개의 클래스를 수정할 때 수정이 필요한 클래스를 줄이는 것이다.

 


 

객체지향은 사람이 생각하는 방식대로 코드를 작성하는 것이다. 그렇게 작성해야 다른 사람들도 코드를 이해하기 쉽다.

그것을 가능하게 하는 것은 다형성이다.

댓글