본문 바로가기

Development/OOP5

객체지향 설계 5원칙 SRP (Single Responsibility Principle) : 단일 책임 원칙객체는 한 가지의 역할(책임)만을 지닌다는 원칙. OCP (Open Closed Principle) : 개방 폐쇠의 원칙확장은 가능하되 변경은 불가능해야 한다는 원칙. LSP (Liskov Substitution Principle) : 리스코프 대체 원칙확장된 객체가 기존의 객체를 대체할 수 있어야 한다는 원칙. ISP (Interface Segregation Principle) : 인터페이스 분리 원칙사용하지 않는 인터페이스에 대한 영향을 받지 않아야 한다는 원칙. DIP (Dependency Inversion Principle) : 의존 역전 원칙 추상화를 이용하는 원칙. 참고하면 좋은 링크SOLID 원칙을 통해 살.. 2014. 3. 4.
펌] 객체 - 지향 프로그래밍이란 무엇인가? 본문링크 : 객체-지향 프로그래밍 이란 무엇인가? (OOP) 2014. 2. 27.
오버로딩과 오버라이딩 ※ 오버로딩과 오버라이딩의 차이오버로딩과 오버라이딩의 용어는 비슷하나 차이는 명백합니다. 오버로딩은 기존에 메소드의 인자를 이용하여 하나의 함수에 여러가지 기능을 만드는 것. 기존에 int a(int a) 라는 함수와 char a (char a, char b) 라는 함수가 존재한다고 가정한다. main()에서 호출시에는 a(10); 이라고 호출하면 전자가 호출이 되고 a('abc', 'def'); 라고 호출하면 후자가 호출이 된다. 주로 생성자 메소드를 정의할 때 많이 사용하게 된다. 쉽게 말하자면 함수의 이름은 같으나, 인자(파라메터)로 구분을 하게 되는것이다. 오버라이딩은 상위클래스에 있는 메소드를 다시 만드는 행위(재정의) 를 의미한다. 상속의 개념에서 매우 중요한 부분이며, 부모 클래스의 메소드를.. 2013. 12. 9.
추상클래스 (abstract class) 1. 추상클래스 - 추상클래스(abstract class)는 추상적인 클래스로서 그 구현이 덜 되었거나 또는 아직 미완성 클래스이므로, 실제 인스턴스 (또는 객체)를 생성할 수 없도록 한 클래스 이다. 다시 말해서 추상 클래스는 객체가 가지고 있는 특성들을 추상화 시켜놓았을 뿐 아직 구체화 시키지 못한 클래스 이므로, 이 추상 클래스를 상속하는 하위클래스는 추상클래스인 상위 클래스에서 완전히 구현하지 못한 부분들을 완전하게 구현해 주어야만 하위클래스에 대한 객체 생성이 가능하다. 이에 그렇지 못할 경우 하위클래스는 하위클래스와 같이 미완성이므로 자체적으로 객체를 생성할 수 없고, 이 하위 클래스는 다시 추상클래스가 된다. 2. 추상메소드 - 추상메소드는 추상클래스와 마찬가지로 아직 구현이 이루어지지 않고.. 2013. 12. 9.
OOP - 객체 지향 프로그래밍 (위키미디어) 객체지향 프로그래밍 ( Object - Oriented Programming, OOP ) 는 컴퓨터 프로그래밍의 패러다임의 하나이다.객체지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러개의 독립된 단위,즉 "객체" 들의 모임으로 파악하고자 한 것이다. 각각의 객체는 메세지를 주고받고, 데이터를 처리할 수 있다.객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에많이 사용된다. 또한 프로그래밍을 더 배우기 쉽게하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인코드 분석을 가능하게 하는 장점을 갖고 있다. 그러나 지나친 프로그램의 객체화 경향은 실제 세계의 모습을그대로 반영하지 못한다는 비판을 받기도 한다. 기본구성요소클래스.. 2013. 11. 12.