본문 바로가기

Development/OOP

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