Object Oriented Programming (2) 썸네일형 리스트형 java.lang.Object 는 왜 최상위 클래스일까요? - OOP 며칠전 면접때 면접관께서 물어보셨습니다. "왜 java.lnag.Object 는 interface로 구현하지 않고 클래스로 구현하였나요?" 순간 말문이 막혔습니다. "왜 클래스로 구현하였을까?" 너무나 뻔한 답이 머릿속의 여러 생각들이 입밖으로 나오질 않더군요. 모든 객체들이 필요할 수 있는 메소드들을 생각해보면 되는데 말이죠. 그것은 Object 클래스의 메소드들을 살펴보면 알 수 있겠죠. 객체를 shallow copy 해주는 Object : clone() 객체와 등가되는 객체인지 boolean : equals(Object obj) 객체가 참조되는 무엇이 없으면 가비지컬렉터에 수집되는 void : finalize() 객체의 클래스 타입을 돌려주는 Class : getClass() 객체의 해쉬코드 값을 .. OOP(Object Oriented Programming) _객체지향프로그래밍 Version_1 소프트웨어를 분석, 설계하고 구현하는 방법중의 하나로써 기존의 프로그램들이 데이터를 처리하는 절차에 중심을 두었다면 OOP는 데이터를 중심으로 하고, 그 처리절차는 부수적으로 취급하는 개념이다. 비유하자면 동사(procedure)보다는 명사(data)에 중심을 두겠다는 프로그래밍기법이다. 명사란 무얼 말하는 건가? 객체지향프로그래밍에 있어서 가장 작은 단위는 Object(객체)이다. 명사란 이 Object를 말한다. 객체지향식 개발 과정에 있어서 제일 먼저 해야할 일은 문제영역(개발에 있어서 목적에 따르는 범위)안의 객체를 찾는 일이다. 객체지향 개발 방법은 객체(Object), 객체의 속성(attribute)과 동작(behavior), 유사한 객체의 집합으로 나누어진 클래스(class.. 이전 1 다음