본문 바로가기

OOP

(3)
객체지향 원리 (headfirst OOA&D 에서 발췌) 매우 추상적인 얘기이며 어쩌면 당연하다고 생각했던 것들인데 실제 코딩에서는 무시하고 작성하는 버릇이 있는 듯 하여 기록해둡니다. 이 글을 보시는 분들중 다년간의 코딩의 경험이 있는 분이시면서도 이 개념에 대해서는 모르셨던 분이라면 '아하, 그것을 이렇게 표현하는구나' 라고 생각하실 수 있는 부분입니다. 저같은 초보는 이제 익숙해져야겠죠 ㅎㅎ;; ※ 밑의 나열된 원리들은 앞으로 코딩이나 디자인 패턴 학습을 통해서 예제나 경우로 채워나갈 것입니다. 1. 변하는 것을 캡슐화해주세요. 제가 이해하고 있는 위의 말은 행동에 의해 변화되는 데이터를 가지고 있는 객체에 대해서 캡슐화를 하라는 말입니다. 저 위에 말했듯이 추상적인 얘기네요 ㅎㅎ 제목에 적어놓은 서적에서 제공하는 예를 들어봅시다. darkship은 강아..
OOP의 요소들과 원리에 대해서. object 객체(object)란 보고 만질 수 있는 것, 지성적으로 이해할 수 있는 것, 생각이나 행동이 추구하는 바를 말한다. 또는 문제영역에서 잘 정의된 역할을 갖고 있는 각각에 대해서 구별할 수 있는 품목(item), 단위(unit), 개체(entity)라 정의하기도 하며 단순히, 정의된 경계를 갖고 구별되는 어떤 것이라 말할 수도 있다. 다시 말해서 객체는 학생, 교실, 책 같은 생각할 수 있는 모든 사물이나 공부, 수학 같은 개념상으로 존재하는 것 등 모든 것이 될 수 있다. 좀 더 구체적으로, 문제영역에 속한 사물 중에 관리의 필요성이 있거나 중요한 개념이라면 더 좋은 객체(instance, instance = attribute+behavior+identity)가 될 수 있다. 시스템의 관점..
OOP(Object Oriented Programming) _객체지향프로그래밍 Version_1 소프트웨어를 분석, 설계하고 구현하는 방법중의 하나로써 기존의 프로그램들이 데이터를 처리하는 절차에 중심을 두었다면 OOP는 데이터를 중심으로 하고, 그 처리절차는 부수적으로 취급하는 개념이다. 비유하자면 동사(procedure)보다는 명사(data)에 중심을 두겠다는 프로그래밍기법이다. 명사란 무얼 말하는 건가? 객체지향프로그래밍에 있어서 가장 작은 단위는 Object(객체)이다. 명사란 이 Object를 말한다. 객체지향식 개발 과정에 있어서 제일 먼저 해야할 일은 문제영역(개발에 있어서 목적에 따르는 범위)안의 객체를 찾는 일이다. 객체지향 개발 방법은 객체(Object), 객체의 속성(attribute)과 동작(behavior), 유사한 객체의 집합으로 나누어진 클래스(class..