반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 스프링 싱글톤
- 스프링
- k번째큰수
- try-catch
- removeAll
- 팩토리 패턴
- 기본형 매개변수
- 싱글톤 패턴
- Class Loader
- mvvm패턴
- 자바의 면접
- 네트워크
- 리버스 프록시
- SOLID원칙
- 스프링 빈
- 백준 2164
- 후위표기식
- 스프링 컨테이너
- 빈 타입 조회
- TCP/IP 4계층
- www.naver.com치면 발생하는일
- 참조형 반환타입
- 옵저버 패턴
- @Tranctional
- 쇠막대기
- 전략 패턴
- 백준 1935
- 참조형 매개변수
- 포워드 프록시
- 팩토리패턴
Archives
- Today
- Total
스파이더 웹 개발
객체지향 프로그래밍 본문
728x90
반응형
- 객체지향 프로그래밍은 객체들의 집합으로 프로그램의 상호 작용을 표현하며 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 활용하는 방식을 말한다
- 설계에 많은 시간이 소요되며 처리 속도가 다른 프로그래밍 패러다임에 비해 상대적으로 느리다
객체지향 프로그래밍의 특징
- 객체지향 프로그래밍은 추상화, 캡슐화, 상속, 다형성이라는 특징이 있다
추상화
복잡한 시스템으로부터 핵심적인 개념 또는 기능을 간추려 내는것
캡슐화
객체의 속성과 메서드를 하나로 묶고 일부를 외부에 감추어 은닉 하는 것
상속
상위 클래스의 특성을 하위 클래스가 이어받아 재 사용하거나 추가, 확장하는것을 의미
다형성
다형성은 하나의 메서드나 클래스가 다양한 방법으로 동작하는 것을 말한다
대표적으로 오버로딩, 오버라이딩이 있다
- 오버로딩? 같은 이름을 가진 메서드를 메서드의 타입 유형 개수를 달리하여 여러개 두는 것을 의미한다 컴파일 중에 발생하는 ‘정적’ 다형성이다
class Person {
//메서드의 이름은 동일하지만, 매개변수의 갯수가 다르다 이러한것을 오버로딩이라고 한다
public void eat(String str){
System.out.println("나는 " + str + " 을/를 먹는다");
}
public void eat(String s1, String s2){
System.out.println("나는 " + s1+"도 먹고, " +s2+"도 먹는다" );
}
}
public class OverloadingEx {
public static void main(String[] args) {
Person person = new Person();
person.eat("물");
person.eat("치킨","햄버거");
}
}
- 오버라이딩? 주로 메서드 오버라이딩을 말하며 상위클래스로부터 상속받은 메서드를 하위클래스에서 재정의하는것 런타임 중에 발생하는 ‘동적’ 다형성이다
- class Car{ public void stop() { System.out.println("차가 멈추다"); } } class Bus extends Car { //상위클래스로부터 상속받은 메서드를 하위클래스에서 재정의하는 것 @Override public void stop() { System.out.println("버스가 멈추다"); } } public class OverridingEx { public static void main(String[] args) { Car car = new Bus(); car.stop(); } }
객체지향 설계 원칙
- SOLID 원칙(S - 단일책임원칙, O - 개방,폐쇄원칙, L - 리스코프 치환 원칙, I - 인터페이스 분리 원 칙, D - 의존성 역전 원칙)
단일 책임 원칙
모든 클래스는 하나의 책임만 가져야 하는 원칙
개방-폐쇄 원칙
유지 보수 사항이 생긴다면 코드를 쉽게 확장할 수 있도록 하고 수정할 때는 닫혀 있어야 한다는 원칙
리스코프 치환 원칙
프로그램의 객체는 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 하는 것을 의미 즉, 부모 객체에 자식 객체를 넣어도 시스템이 정상적으로 작동 하는것을 말한다
인터페이스 분리 원칙
하나의 일반적인 인터페이스보다 구체적인 여러 개의 인터페이스를 만들어야 하는 원칙
의존 역전 원칙
변하기 쉬운 것에 의존하던 것을 추상화 된 인터페이스나 상위 클래스를 두어 변하기 쉬운 것의 변화에 영향 받지 않게 하는 원칙
VS 절차형 프로그래밍
- 절차형 프로그래밍은 로직이 수행되어야 할 연속적인 계산 과정으로 이루어져 있다
- 일이 진행되는 방식으로 코드를 구현하기만 되므로 코드의 가독성이 좋다
- 계산이 많은 작업 등에 쓰인다
728x90
반응형
'디자인 패턴과 프로그래밍 패러다임' 카테고리의 다른 글
선언형과 함수형 프로그래밍 (0) | 2022.07.20 |
---|---|
MVC 패턴 (0) | 2022.07.20 |
프록시 패턴 (0) | 2022.07.20 |
옵저버 패턴 (0) | 2022.07.20 |
전략 패턴 (0) | 2022.07.20 |
Comments