JAVA (133) 썸네일형 리스트형 컴포넌트 컴포넌트컴포넌트의 정의- 컴포넌트에 대한 정의는 다양하다. 컴포넌트가 재사용 단위라는 의미로 많이 사용되기 때문이다.재사용이라는 측면을 넓은 의미로 보면 소프트웨어 개발에 있어서 재사용되는 모든 단위들은 컴포넌트라고 보는 것이다.이런 의미에서의 컴포넌트는 재사용되는 문서, 재사용 모델, 재사용 테이블, 재사용 코드, 재사용 라이브러리 등 다양하다. 그러나 소프트웨어 개발에 있어서 하드웨어 컴포넌트(예: RAM, HDD, CPU 등)처럼 실제 소프트웨어 시스템 작동에 필요한 런타임 모둘(Runtime Module)의 성격을 가진 재사용 단위로서의 컴포넌트를 다룬다.이러한 좁은 의미에서의 컴포넌트에 대한 정의도 다양하게 표현되고 있다.표현 방법의 차이일 뿐이지 개념에 대한 내용은 동일하다. "컴포넌트는 잘 .. 다형성 다형성 다형성 정의- 다형성(Polymorphism)이란 "여러 개의 형태를 가진다"의 의미의 그리스어에서 유래된 말로서 특정한 심벌이나 연산자에 대해 상황이 다르면 그 의미도 다르게 부여할 수 있는 특성을 말한다. 연산자의 경우 예로 플러스 기호(+) 일반적으로 두수를 더하라는 의미로 사용되지만, 불린검색에서는 논리 연산인 and를 의미한다. 객체지향언에서는 연산자 오버로딩이라는 용어로 다형성을 표현한다. 객체지향에서는 이러한 다형성을 오버로딩(overloading)과 오버라이딩(overriding) 두가지 형태를 모두 포함하고 있다.오버로딩은 다시 연산자 오버로딩과 함수 오버로딩으로 분류하고 있다. 연산자 오버로딩이란 특정 연산자가 상황에 따라 연산자의 의미나 용도가 달리 쓰이는 현상을 말한다.예) .. 인터페이스 인터페이스의 개념 인터페이스의 정의인터페이스 - 사물간 또는 사물간의 인간 사이의 의사소통이 가능하도록 일시적 혹은 영구적 접근을 목적으로 만들어진 물리적, 가상적 매체를 의미 예) TV 리모콘(시청자와 TV 수상기와의 상호작용을 위한 인터페이스) 컴퓨터 하드웨어 분야에서는 인터페이스르 물리적 매체로 나타내지만, 소프트웨어서는 특정 기능을 위한 관련된 함수들의 집합이라고 표현 객체지향에서 다루는 인터페이스 개념은 소프트웨어에서 다루는 인터페이스 개념을 의미.인터페이스는 특정 기능 또는 특정 서비스 수행에 필요한 함수들을 선언만 하고 있기 때문에 이 선언된 함수들에 대한 구현은 클래스나 컴포넌트를 통해서 구현하게 된다.따라서 인터페이스에대한 명세가 잘 정의되면 구현은 인터페이스와 분리되어서 다양하게 구현할.. 추상클래스 추상클래스 추상클래스 정의- 추상클래스는 서로 다른 유형의 클래스들 간에 공통된 행위를 추출하여 정의한 가상의 클래스이다.공통된 행위들에 대해 일반화시켜 만들었기 때문에 추상 클래스도 상속 구조를 취하게 된다.그리고 일반화 시킨 클래스가 추상 클래스이기 때문에 추상 클래스는 상속 구조에서 슈퍼 클래스에 해당한다.이에 반해 추상클래스의 하위 클래스들을 구체화 클래스(Concrete Class)라고 한다. 추상 클래스는 원래 클래스로 존재한 것이 아니라 여러 클래스들 간에 공통 행위들이 있어서 중복성을 배제하기 위해 일반화 시킨 클래스이기 때문에 실제 객체로 생성할 수 없다.따라서 상속구조에서 객체를 생성할 수 잇는 슈퍼 클래스와 구별하기 위해 추상클래스를 별도로 구분하여 정의하고 있다.예) Payment(.. 상속 상속의 개념 상속의 정의- 객체지향의 가장 큰 특징 가운데 하나가 재사용성의 향상이다. 객체지향 기술이 도입되게 된 이유이기도 함.- 객체지향에서 이러한 재사용성을 향상시키기 위해 등장한 개념이 상속(Inheritance)이다. 상속은 동일한 데이터나 함수의 중복 정의를 피하고 공통된 데이터나 함수를 함 곳에 정의하여 재사용하는 개념이다. 클래스들로부터 공통된 속성과 함숟르을 추출하여 이들이 갖는 새로운 클래스를 정의할 수 있도록 하는 기법.down-top 방식의 의한 상속이라 하며, 일반화(Generalization) 특정 클래스로부터 세부적인 여러 형태의 클래스들로 분류하여 상속을 표현.top-down에 의한 상속이라 하며, 특수화(Specialization) 둘다 상속을 지칭하는 것으로서 상속관계를.. 복합객체 복합객체의 개념복합객체- 객체지향에서 객체란 단순히 데이터와 함수만을 갖는 작은 단위뿐만 아니라 데이터 부분에 다른 객체를 갖을 수 있는데 이와 같은 관계를 복합화(Composition) 또는 복합관계라고 한다. - 복합화는 한 객체가 다른 객체를 포함하는 것으로 집단화(Aggregation)라고도 한다.- 한 객체가 다른 객체를 포함할 때 이 객체를 복합객체. 객체가 다른 객체를 포함할 경우포함하는 객체를 전체객체(Whole Object)포함되는 객체를 부분객체(Part Object) 예) 자동차와 자동차 내의 부품(엔진, 바퀴), 주문과 결제 간의 관계 자동차 객체는 부분객체인 엔진, 바퀴 등과 같은 부분객체들이 모여서 만들어진 객체이다.복합객체인 자동차는 부분객체들이 없으면 자동차로서의 제기능을 다.. 메시지 메시지의 개념-객체와 다른 객체를 접근하기 위한 장치이다.-한 객체가 다른 객체에 서비스를 요청하기 위한 장치이다.-객체.함수명(매개변수) 형태로 구성된다. 메시지의 정의객체지향 프로그램은 객체들의 집합체이다.즉, 서로 상호작용하는 객체들로 구성된 시스템이라고 할 수 있다.따라서 단일 객체 그 자체만으로는 의미가 없으며 하나 이상의 객체들이 모여서 그들 간에 서로 상호 작용해야 객체지향 프로그램으로써 의미가 있게 된다. 객체지향 프로그래밍을 클래스 지향 프로그래밍이 아닌 객체지향 프로그래밍이라고 표현하는 데도 이 철학이 담겨있다.프로그램의 작동 주체는 클래스가 아닌 객체들이며, 이러한 객체들이 모여서 서로 정보를 주고 받으면서 프로그램이 작동되기 때문이다. 이처럼 객체들이 서로 상호작용하기 위해서 객체가.. 캡슐화와 정보은닉 캡슐화클래스 혹은 객체라는 개념을 접할 때 가장 먼저 생각나게 하는 용어 가운데 바로 캡슐화 -캡슐화는 관련된 데이터와 함수를 묶는 장치이다. 관련된 데이터와 관련된 함수들을 클래스라는 하나의 캡슐 속으로 그룹화 혹은 묶어주는 장치 또는 매커니즘이다.따라서 캡슐화를 다른 말로 표현할 때 번들링(bundling)이라고도 한다.어떤 개념을 추상화시시켜 표현하는데 있어서 큰 도움이 된다.추상화가 잘되면 될수록 프로그램의 모듈화를 향상시키는 결과가 된다. 기존 절차지향 언어에서도 이러한 캡슐화를 위한 시도로 C언어에서는 구조체나 공용체를 통해 사용하기도 하였다.그러나 이 장치들은 관련된 데이터들을 묶어주는 장치에 불과했다.이로 인해 특정 함수와 관련된 데이터들을 추적한다는 것이 매우 어려웠다.이는 소프트웨어 유.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 17 다음