IT강의/프로그래밍언어

객체지향 프로그래밍 언어의 특징

샤핑 2021. 7. 21. 14:52
728x90
반응형

 

이번 시간에는 객체지향 프로그래밍 언어의 특징을 살펴보겠습니다. 객체지향 프로그래밍 언어는 아래와 같이 4가지 특징이 있습니다.

 

 

(1) Data Abstraction (데이터 추상화) - "목록 형태로 정리"

- 복잡한 프로그램에서 핵심적인 기능을 간추려 내는 것을 의미합니다.

- 가장 대표적인 예시로 구조체와 클래스가 있습니다. 구조체와 클래스에서는 변수와 함수를 정리된 형태로 선언할 수 있습니다.

 

(2) Information Hiding (정보 은닉) - "세세한 건 보여줄 필요 없지"

- 구현한 내용 일부를 외부에서 보이지 않게 감추는 것을 의미합니다.

- 가장 대표적인 예시로 클래스 내에서의 private 선언이 있습니다. private으로 선언된 변수와 함수는 클래스 내부에서만 접근할 수 있고 외부에서는 접근할 수 없습니다.

 

(3) Inheritance (상속) - "기존꺼 그대로 가져와서 쓰자!"

- 기존 요소들을 그대로 사용할 수 있도록 하는 것을 의미합니다.

- 상속을 사용하는 이유는 기존의 기능을 참조해서 그대로 가져오기 위해서 입니다. 따라서 코드의 재사용성을 늘릴 수 있습니다.

- 가장 대표적인 예시로 클래스의 상속이 있습니다. 클래스의 상속에서는 SuperClass(슈퍼 클래스, 부모 클래스)와 SubClass(서브 클래스, 자식 클래스)로 나누어지는데, SuperClass의 변수와 함수를 SubClass가 그대로 가져와서 사용할 수 있습니다.

 

(4) Polymorphism (다형성) - "바꿔치기한다"

- 각 요소들이 다양한 자료형에 속하도록 허용하는 것을 의미합니다.

- 이 특징을 통해서 코드의 재사용성을 늘릴 수 있습니다.

- 가장 대표적인 예시로 메소드 오버라이딩(Method Overriding)과 메소드 오버로딩(Method Overloading)이 있습니다.

  - 메소드 오버라이딩: (parameters, return type 까지 모두) 완전히 같은 함수가 슈퍼 클래스와 서브 클래스에 있는 것을 의미

  - 메소드 오버로딩: 함수명만 같고 이 외(parameters, return type 등)에는 서로 다른 것을 의미

728x90
반응형
LIST