전체 글119 오브젝트의 동일성과 동등성 자바에서 두개의 오브젝트가 같은가라는 말은 주의해서 써야 한다. 자바에서는 두개의 오브젝트가 완전히 같은 동일한(identival) 오브젝트라고 말하는 것과,동일한 정보를 담고 있는(equivalent) 오브젝트라고 말하는 것은 분명히 차이가 있다.전자는 동일성(identity) 비교라고 하고, 후자는 동등성(equality)비교라고 한다. 동일성은 == 연산자로, 동등성은 equals() 메소드를 이용해 비교한다. 두개의 오브젝트가 동일하다면 사실은 하나의 오브젝트만 존재하는 것이고, 두개의 오브젝트 레퍼런스 변수를 갖고 있을 뿐이다.두개의 오브젝트가 동일하지는 않지만 동등한 경우에는 두개의 각기 다른 오브젝트가 메모리상에 존재하는 것인데, 오브젝트의 동등성 기준에 따라 두 오브젝트의 정보가 동등하다고.. 2013. 10. 7. 디자인 패턴 디자인 패턴은 소프트웨어 설계 시 특정 상황에서 자주 만나는 문제를 해결하기 위해 사용할수있는 재사용 가능한 솔루션을 말한다. 모든패턴에는 간결한 이름이 있어서 잘알려진 패턴을 적용하고자 할때 간단히 패턴 이름을 언급하는 것만으로도 설계의 의도와 해결책을 함께 설명할 수 있다는 장점이 있다. 디자인 패턴은 주로 객체지향 설계에 관한 것이고, 대부분 개체 지향적 설계 원칙을 이용해 문제를 해결한다. 패턴의 설계 구조를 보면 대부분 비슷한데, 그 이유는 객체 지향적인 설계로부터 문제를 해결하기 위해 적용할 수 있는 확장성 추구 방법이 대부분 두 가지 구조로 정리되기 때문이다. 하나는 클래스 상속이고 다른 하나는 오브젝트 합성이다. 따라서 패턴의 결과로 나온 코드나 설계 구조만 보면 대부분 비슷해 보인다. 패.. 2013. 10. 7. DAO의 분리 세상에는 변하는 것과 변하지 않는 것이 있다. 하지만 객체지향의 세계에서는 모든것이 변한다. 여기서 변한다는 것은 변수나 오브젝트 필드의 값이 변한다는게 아니다. 오브젝트에 대한 설계와 이를 구현한 코드가 변한다는 뜻이다. 소프트웨어 개발에서 끝이란 개념은 없다. 사용자의 비즈니스 프로세스와 그에 따른 요구사항은 끊임없이 바뀌고 발전한다. 애플리케이션이 기반을 두고 있는 기술도 시간이 지남에 딸 바뀌고, 운영되는 환경도 변화한다. 애플리케이션이 더 이상 사용되지 않아 페기처분될 때가 돼야 변화는 중지된다. 그래서 개발자가 객체를 설계할 때 가장 염두에 둬야 할 사항은 바로 미래의 변화를 어떻게 대비할 것인가 이다. 지금 당장 구현하고 있는 기능도 만들기 바쁜데 무슨 미래를 생각할 여유가 있겠느냐고 반문할.. 2013. 10. 7. 이전 1 ··· 27 28 29 30 다음