프리 정보 컨텐츠

자바 OOP(객체지향 프로그래밍) 4가지 특징과 장점 단점 본문

코딩개념 정리

자바 OOP(객체지향 프로그래밍) 4가지 특징과 장점 단점

쏜스 2020. 12. 28. 01:00

OOP(Object-oriented programming)

OOP(객체 지향 프로그래밍) "객체"들의 모임으로 각각의 객체는 메시지를 주고받고, 데이터를 처리한다.

기본 구성 요소로는 (클래스, 객체, 메소드) 세 가지로 구성되어있다.

 

장점

클래스에 하나의 문제 해결을 위한 데이터를 모아 응집력을 강화하고 결합력을 약하게 할 수 있다.

유지보수 용이성 및 대형 프로젝트에 적합하다.

단점

처리속도가 느리고 설계하기가 쉽지 않다.

 

OOP 의 4가지 특징을 이해할 수 있다.
1. 추상화
2. 캡슐화
3. 일반화
4. 다형성

1. 추상화(Abstraction)

사물의 추상적 특징을 파악해 이를 개념으로 다루는 수단이다.

객체들의 공통된 특징을 파악해 구체적인 개념이 아닌 추상적인 개념에 의존하여 설계한다.

2. 캡슐화(Encapsulation)

높은 응집도와 낮은 결합도를 유지할 수 있도록 설계함으로써 유연하게 대처할 수가 있다.

캡슐화를 통해 불필요한 정보는 감추고, 정보은닉을 할 수 있다는 특징이 있다.

3. 일반화(Generalization) = 상속(Inheritance)

자식 클래스를 외부로부터 은닉하는 캡슐화의 일종이다.

Overriding 와 같이 부모클래스의 메소드와 같은 메소드를 자식 클래스에서 재정의 하는 역할을 한다.

Overriding 이란?

4. 다형성(Polymorphism)

서로 다른 클래스의 객체가 같은 메시지를 받았을 때 각자의 방식으로 동작한다.

부모 클래스의 참조 변수가 자식 클래스의 객체를 참조하므로 새로운 자식 클래스가 생성되도 대처가능하다.

 

같은 이름의 속성을 유지하고, 속성을 사용하기 위한 인터페이스를 유지하며, 메소드 이름을 낭비하지 않는다.

Comments