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
- iTerm2
- 아규먼트
- 술담화
- 자바언어의본질
- 감사주
- 색상설정
- 전통주
- iTerm테마
- 제주술
- 11057
- 개발용어
- 술쟁이
- DB기초
- 클래스파일
- 제주몬순커피주
- 커피냑
- 다이나믹프로그래밍
- 클래스로딩
- 스프링부트
- 데이터베이스
- 스킨설정
- 백준
- iterm
- iTerm스킨
- 포도알
- 술샘
- 테마설정
- 응답상태
- 자바
- 어린날의추억
Archives
- Today
- Total
배니스트의 개발추적기
[OOP] 객체 지향 언어의 기본 본문
🎯 글머리
자주 사용하지만 막상 물어보면 잘 모를 수 있는 객체 지향 언어와 그 특성에 대해 간단하게 정리해둔다.
🎯 글몸통
- 객체 지향 언어란 해결할 과제를 실제 세상의 객체와 객체 간의 상호 관계로 모델링하여 '인간의 사고'에 가깝게 표현하고자 하는 언어이다. -> 실세계에 대한 쉬운 모델링을 하기 위함이다.
* 실세계의 객체: 고유한 특성(state)과 행동(behavior)을 가지는 개체라 할 수 있다.
다른 객체들에게 행동을 요청하거나 정보를 주고받는 등의 상호작용을 한다.
* 프로그래밍에서의 객체: 동일한 성질의 데이터(필드)와 함수(메소드)를 한곳에 모아두고
필요한 곳에서 언제든지 이용할 수 있게 만든 덩어리이다.
- 객체 지향 언어의 특성
구분 | 특성 | 목적 |
캡슐화(Encapsulation) | 객체를 캡슐(클래스: 필드 + 메소드)로 싸서 그 내부를 보호하고 볼 수 없게 함 | 보안, 보호, 외부 접근 제한 -> 정보 은닉화(Information Hiding) |
상속(Inheritance) | 상위 개체(부모클래스, 슈퍼클래스)의 속성이 하위 개체(자식클래스, 서브클래스)에 물려져서, 하위 개체가 상위 개체의 속성을 모두 갖고 있음. | 코드의 중복 작성 방지 -> 코드의 재사용 + 클래스간 계층적 분류 및 관리 |
다형성(Polymorphism) | 같은 이름의 메소드 호출에 대해 객체에 따라 다른 동작을 하도록 함 : Overloading, Overriding, Interface에 대한 다양한 구현체 |
목적에 따른 다양한 변형 -> 개방-폐쇄의 원칙(Open-Closed Principle)* |
* OCP(Open-Closed Principle): 확장에는 열려있고, 수정/변경에는 닫혀있다. 즉, 기존 코드를 변경하지 않고 기능을 추가하거나 확장 가능한 성질을 말한다.
'CS Basic > Programming Language' 카테고리의 다른 글
[Java] 꼭 Java를 써야할까? (0) | 2020.08.27 |
---|