본문 바로가기

개발/JAVA객체지향디자인패턴

(2)
[JAVA객체지향디자인패턴] 캡슐화(Encapsulation) 란 무엇인가? 캡슐화(Encapsulation) 란 무엇인가? 캡슐화의 정의를 보면 필요한 속성(Attribute) 와 행위(Method) 를 하나로 묶고그중 일부를 외부에서 사용하지 못하도록 은닉한다 되어있다. 위 내용만 보면 굉장히 추상적이라 뭘 어떻게 하라고 하는지 이해하기 힘들다 따라서 간단한 예를 들어서 캡슐화를 이해해보도록 하겠다. 음료수자판기가 있다고 예를 든다위의 정의를 따라가보도록 하겠다. 우선 필요한 속성(Attribute) 와 행위(Method)를 묶는다고 하였는데그렇다면 음료수 자판기에는 어떠한 속성과 행위가있을까 예를 위해 간단하게 구현해보도록 하겠다. 속성(Attribute) 을 먼저살펴보면속성은 자판기에 필요한 자료를 추려내면 될것이다.1) 음료수목록2) 음료수의가격3) 사용자가 선택한 음료..
[JAVA객체지향디자인패턴] 클래스(Class) 란 무엇인가? 클래스(Class) 란 무엇인가? 클래스(calss)란? 클래스를 프로그래밍적 언어로 표현하자면 어떠한 객체의 변수(valiable) , 메소드(method) 의 집합이다 표현할수있으며 현실세계에 빗대어 말하자면 동일한 속성과 행위를 수행하는 객체의 집합이다. 라고도 표현할 수 있다. ( 여기서 객체는 현실세계에 있는 유형/무형의 대상을 말한다. ) 조금도 쉽게 예를 들어 설명하자면 학교 를 예를 들어 학교에는 학생도 있고 학생을 가르키는 교수가 있다. 그러면 학생과 교수는 동일한 일을 수행하는가? 그렇지 않다. 학생은 교육을 받는 대상이며, 교수는 학생을 교육을 하는 사람이다. 그렇다면 위에서 설명한 동일한 일을 수행하는 어떠한 집합이라고 표현할수 없다. 따라서 학생과 교수는 서로 다른 클래스로 나타내..