728x90
반응형

객체지향 2

객체지향적으로 생각하기, Object-Oriented Thinking

우리가 편하다고 생각하는 프로그래밍언어의 특징이 바로 객체지향프로그래밍언어다. 더 잘 이해하기 위해선 어떤 요소가 특징이고 어떻게 생각해야하는지 배워보자. 개인적인 의견이 더 많이 들어갈 듯 싶다. **2023.08.06 추가 우선 왜 우리는 객체지향언어가 편할까??? 우리가 생각하는바를 실제 프로그래밍언어로 구현했기때문이다. 예를 들면 자동차를 길게 만들면 버스고, 빠르게 만들면 스포츠카, 크게 만들면 트럭인데..? 자동차에 대한 기본원리는 같지 않을까? 버스, 스포츠카, 트럭은 모두 자동차의 특징을 상속받는다. 반대로 버스, 스포츠카, 트럭을 추상화하면 자동차가 나온다. -> 이러한 모든 생각을 프로그래밍 언어에도 적용했다. 우리가 개발하기 편해진 OOP의 특성을 알아보자. 크게 4가지로 나눌 수 있..

프로젝트 계획(12-1) 클래스 설계 [소프트웨어공학]

클래스는 앞서 많은 글들에서 다루어왔고 여기서 말하는 클래스 설계라는 것은 분석 단계에서 아직 확정되지 않은 클래스 내부 부분 중 구현에 필요한 중요한 사항을 결정하는 작업을 말한다. **즉 클래스 추출 및 클래스 간 관계 분석이다. 본격적으로 알아보자 클래스 설계는 각 클래스 내부에 초점을 두어 소속된 객체의 상태가 오퍼레이션의 호출에 따라 어떻게 변하는지를 잘 봐야한다. 다시 말해서 상태와 오퍼레이션의 관계를 잘 봐야한다는 것이다. **왜냐하면 클래스가 가지는 속성 값에 따라 오퍼레이션 구현이 달라지니까!! 그래서 객체의 상태 변화 모델링 필수라고 할 수 있다. **상태 의존적인 클래스를 구현하기 전에 먼저 객체 상태 변화에 대한 모델링은 필수적이다. 클래스 설계에 대한 몇 가지 가이드라인을 살펴보려..

728x90
반응형