티스토리 뷰

donaricano-btn
반응형

추상화(Abstraction)

Abstract 라는 단어의 어원은 라틴어 abstractus 에서 왔고, 이 단어는 from 의 의미를 가진 ab- 와 draw off 의 의미를 가진 trahere 의 합성어 이다.

 

어원에서 부터 이 단어의 의미를 생각해 보면 무엇으로 부터 어떤 것을 빼낸다는 것이다. 쉽게 생각해 보면 어떤 대상으로 부터 필요한 것을 추출한다는 의미를 가지고 있다고 볼 수 있다.

 

OOP에서 말하는 추상화(Abstraction)의 개념도 이 단어가 가진 의미를 그대로 담고 있다. 복잡한 시스템에서 필요한 부분만 추출하여 단순화 하여 본질적이고 공통적인 부분만 남게 만드는 것이다.

 

사용자는 추상화를 통해 단순화 된 개념을 사용해 사용자의 본래 목적에 더 집중할 수 있게 된다.

캡슐화(Encapsulation)

연관된 데이터와 메서드를 하나의 캡슐(일반적으로는 클래스)에 넣어 보호하는 것을 의미한다. 캡슐화를 통해 외부에서 접근을 제한하게 되면 데이터를 보호하고 내부의 작동 방식을 은닉할 수 있게 된다.

 

사용자는 캡슐화 된 데이터에 직접 접근할 수 없을 뿐 아니라 동작 방법도 알 필요가 없다. 이런 방법은 보안성을 높이고 객체간의 결합도를 낮추어 유연한 프로그래밍을 하는데 도움이 된다.

 

자바에서는 접근제어자를 통해 캡슐화를 구현할 수 있다.

상속(Inheritance)

상속은 하나의 클래스의 내용을 확장하여 다른 클래스를 구성할 수 있는 기능이다. 하위 클래스의 인스턴스는 상위 클래스를 그대로 확장하기 때문에 상위 클래스의 코드를 재사용할 수 있다는 장점이 있다. 

다형성(Polymorphism)

객체가 문맥에 따라 다른 형태를 취할 수 있는 성질을 의미한다. 이는 OOP 의 개념중 가장 중요한 개념이라고 할 수 있다.

 

예를 들어 다형성 객체는 부모 클래스나 하위 클래스처럼 동작하거나 인터페이스의 구현체 처럼 동작할 수 있습니다. 다형성을 사용하면 코드의 유연성과 재사용성을 높이고 런타임에 메서드를 동적으로 바인딩할 수 있습니다.

반응형
donaricano-btn
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함