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 |
Tags
- 상속
- springboot
- Oracle
- 서버
- 인스턴스
- 클래스
- mavenCentral
- 컬렉션프레임워크
- 바인드변수
- 생성자
- JavaScript
- Swing
- SwingCalendar
- JPA Auditing
- 템플릿엔진
- java
- 자바
- 백준
- 사용자관리프로그램
- 클라이언트
- 코딩
- socket
- 카카오코딩테스트
- 메소드
- springDataJPA
- Spring
- jcenter
- 멀티쓰레드
- HTML모드
- 깃허브
Archives
- Today
- Total
프리 정보 컨텐츠
자바 OOP(객체지향 프로그래밍) 4가지 특징과 장점 단점 본문
OOP(Object-oriented programming)
OOP(객체 지향 프로그래밍) "객체"들의 모임으로 각각의 객체는 메시지를 주고받고, 데이터를 처리한다.
기본 구성 요소로는 (클래스, 객체, 메소드) 세 가지로 구성되어있다.
장점
클래스에 하나의 문제 해결을 위한 데이터를 모아 응집력을 강화하고 결합력을 약하게 할 수 있다.
유지보수 용이성 및 대형 프로젝트에 적합하다.
단점
처리속도가 느리고 설계하기가 쉽지 않다.
OOP 의 4가지 특징을 이해할 수 있다.
1. 추상화
2. 캡슐화
3. 일반화
4. 다형성
1. 추상화(Abstraction)
사물의 추상적 특징을 파악해 이를 개념으로 다루는 수단이다.
객체들의 공통된 특징을 파악해 구체적인 개념이 아닌 추상적인 개념에 의존하여 설계한다.
2. 캡슐화(Encapsulation)
높은 응집도와 낮은 결합도를 유지할 수 있도록 설계함으로써 유연하게 대처할 수가 있다.
캡슐화를 통해 불필요한 정보는 감추고, 정보은닉을 할 수 있다는 특징이 있다.
3. 일반화(Generalization) = 상속(Inheritance)
자식 클래스를 외부로부터 은닉하는 캡슐화의 일종이다.
Overriding 와 같이 부모클래스의 메소드와 같은 메소드를 자식 클래스에서 재정의 하는 역할을 한다.
Overriding 이란?
4. 다형성(Polymorphism)
서로 다른 클래스의 객체가 같은 메시지를 받았을 때 각자의 방식으로 동작한다.
부모 클래스의 참조 변수가 자식 클래스의 객체를 참조하므로 새로운 자식 클래스가 생성되도 대처가능하다.
같은 이름의 속성을 유지하고, 속성을 사용하기 위한 인터페이스를 유지하며, 메소드 이름을 낭비하지 않는다.
Comments