본문 바로가기
반응형

Development/Software Engineering8

디자인 패턴 디자인 패턴 (Design Pattern) 은 건축학 및 컴퓨터 과학에서 사용되는 용어로, 특정 영역의 설계와 문제를해결하기 위해 고안된 형식적인 방법. 이 방식은 건축가 크리스토퍼 알렉산더가 건축학 영역에서 고안된 것을시초로 하여, 이후 컴퓨터 과학 등 여러 다른 분야에서도 받아들여지게 되었다.여러 구체적인 영역에서 관련을 맺으며 사용될 수 있는 패턴들을 구조적으로 정리한 것을 패턴 언어라 부른다. 컴퓨터 과학에서의 디자인 패턴소프트웨어 개발 방법에서 사용되는 디자인 패턴은, 프로그램 개발에서 자주 나타나는 과제를 해결하기위한 방법 중 하나로, 과거의 소프트웨어 개발과정에서 발견된 설계의 노하우를 축적하여 이름을 붙여이 후에 재이용하기 좋은 형태로 특정의 규약을 묶어서 정리한 것이다. * 본문 위키 -.. 2014. 2. 27.
[OOP] 오버로딩과 오버라이딩 ※ 오버로딩과 오버라이딩의 차이 오버로딩과 오버라이딩의 용어는 비슷하나 차이는 명백합니다. 오버로딩은 기존에 메소드의 인자를 이용하여 하나의 함수에 여러가지 기능을 만드는 것. 기존에 int a(int a) 라는 함수와 char a (char a, char b) 라는 함수가 존재한다고 가정한다. main()에서 호출시에는 a(10); 이라고 호출하면 전자가 호출이 되고 a('abc', 'def'); 라고 호출하면 후자가 호출이 된다. 주로 생성자 메소드를 정의할 때 많이 사용하게 된다. 쉽게 말하자면 함수의 이름은 같으나, 인자(파라메터)로 구분을 하게 되는것이다. 오버라이딩은 상위클래스에 있는 메소드를 다시 만드는 행위(재정의) 를 의미한다. 상속의 개념에서 매우 중요한 부분이며, 부모 클래스의 메소드.. 2013. 12. 9.
[OOP] 추상클래스 (abstract class) 1. 추상클래스 - 추상클래스(abstract class)는 추상적인 클래스로서 그 구현이 덜 되었거나 또는 아직 미완성 클래스이므로, 실제 인스턴스 (또는 객체)를 생성할 수 없도록 한 클래스 이다. 다시 말해서 추상 클래스는 객체가 가지고 있는 특성들을 추상화 시켜놓았을 뿐 아직 구체화 시키지 못한 클래스 이므로, 이 추상 클래스를 상속하는 하위클래스는 추상클래스인 상위 클래스에서 완전히 구현하지 못한 부분들을 완전하게 구현해 주어야만 하위클래스에 대한 객체 생성이 가능하다. 이에 그렇지 못할 경우 하위클래스는 하위클래스와 같이 미완성이므로 자체적으로 객체를 생성할 수 없고, 이 하위 클래스는 다시 추상클래스가 된다. 2. 추상메소드 - 추상메소드는 추상클래스와 마찬가지로 아직 구현이 이루어지지 않고.. 2013. 12. 9.
[OOP] - 객체 지향 프로그래밍 (위키미디어) 객체지향 프로그래밍 ( Object - Oriented Programming, OOP ) 는 컴퓨터 프로그래밍의 패러다임의 하나이다. 객체지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위, 즉 "객체" 들의 모임으로 파악하고자 한 것이다. 각각의 객체는 메세지를 주고받고, 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 또한 프로그래밍을 더 배우기 쉽게하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점을 갖고 있다. 그러나 지나친 프로그램의 객체화 경향은 실제 세계의 모습을 그대로 반영하지 못한다는 비판을 받기도 한다. 기본구.. 2013. 11. 12.
반응형