객체지향 언어
객체지향 언어는 프로그램을 여러 개의 객체로 구성된 시스템으로 바라보는 방식입니다. 객체란 상태(데이터)와 행동(메소드)을 함께 가지고 있는 독립적인 단위입니다.
객체지향 언어의 특징
- 캡슐화(Encapsulation) : 객체지향에서 캡슐화란 데이터를 외부에서 직접 접근하지 못하게 하고, 메소드를 통해서만 접근하도록 제한하는 개념입니다.
- 상속(Inheritance) : 상속은 기존에 작성된 클래스(부모 클래스)의 속성과 기능을 새로운 클래스(자식 클래스)가 물려받아 사용할 수 있도록 하는 기능입니다.
- 다형성(Polymorphism) : 다형성은 하나의 메소드나 클래스가 다양한 형태로 동작할 수 있게 하는 성질입니다. 같은 이름의 메소드가 상황에 따라 다르게 실행되도록 하는 것으로, 대표적으로 오버라이딩(상속받은 메소드를 재정의)과 오버로딩(같은 이름의 메소드를 매개변수에 따라 여러 개 정의)이 있습니다.
- 추상화(Abstraction) : 추상화는 복잡한 시스템에서 중요한 정보만 추출하여 단순화하는 개념입니다.