쿄쿄 IT

객체지향 프로그래밍(OOP, Object Oriented Programing) 본문

취업 준비/기술 면접

객체지향 프로그래밍(OOP, Object Oriented Programing)

쿄쿄 IT 2020. 12. 9. 20:04

* 객체지향 프로그래밍(OOP, Object Oriented Programing)

공통된 속성과 기능을 가지고 있는 클래스만들고 해당 클래스를 필요한 곳에서 객체 생성하여 사용하여 재사용성을 높이고, 유지보수를 용이하게 하는 프로그래밍 방식이다.

 

* 객체지향 구성요소

* 클래스(Class) 

- 같은 종류의 집단에 속하는 속성과 행위를 의미

- 속성은 변수의 형태로, 행위는 메서드 형태로 선언

- 공통된 속성과 행위을 갖는 객체의 집합

- 클래스에 속한 각각의 객체를 인스턴스라 하며, 클래스로부터 새로운 객체를 생성하는 것을 인스턴스화 라고 함

- 객체지향 프로그래밍의 재사용성을 높이기 위한 것으로 필요한 경우 동일한 속성과 메소드를 반복적으로 사용하는 것    이 아니라 객체를 생성해서 해당 기능 사용하면됨

* 객체(Object)

- 속성 + 메서드 = 객체

- 객체의 행위는 클래스에 정의된 행위에 대한 정의를 공유함으로써 메모리를 경제적으로 사용

- 객체마다 각각의 상태와 식별성을 가짐

* 속성(Property)

- 한 클래스내에 속한 객체들이 가지고 있는 데이터 값들을 단위별로 정의

- 성질, 분류, 식별, 수량, 현재 상태들에 대한 표현 값

* 메서드(Method)

- 클래스로부터 생성된 객체를 사용하는 방법

- 전통적 시스템의 함수(Function) 또는 프로시저(Procedure)에 해당하는 연산기능

* 메세지(Message)

- 객체에서 어떤 행위를 하도록 지시하기 위한 방법

* 인스턴스(Instance)

- 객체지향 기법에서 클래스에 속한 각각의 객체

- 실제로 메모리상에 할당

 

* 객체지향 기법

추상화(Abstraction) 

추상적인   구체적으로 모델링 하는 모든 과정 (=객체를 만드는 모든 과정)

- 공통 성질을 추출하여 추상 클래스를 설정하는 기법

사물들 간의 공통점은 취하고 차이점은 버림

캡슐화(Encapsulation)

객체를 캡슐로 싸서 내부를 보호하고   없게 하는 것으로 객체의 가장 본질적인 특징

서로 관련이 많은 데이터와 이와 관련된 함수들을  묶고 외부로부터 직접적인 접근차단 기법

정보은닉

코드 내부 데이터와 메소드를 숨기고 공개 인터페이스를 통해서만 접근이 가능하도록 하는 코드 보안 기술

상속(Inheritance)

상위 클래스의 속성과 메소드를 하위 클래스에서 재정의 없이 물려받아 사용하는 기법

상속받은 메소드를 추가적으로 데이터와 메소드내용 재사용 가능하다.

다형성(Polymorphism)

- 하나의 메세지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력

같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 동작하도록 구현되는것을 말한다.

-오버라이딩(overriding) : 슈퍼 클래스에 구현된 메소드를서브 클래스에서 동일한 이름으로 자신의 특징에 맞게 재정의한다.

-오버로딩(overloading): 클래스 내에서 이름이 같지만 서로 다르게 동작하는 메소드를 여러  만드는 메소드이다.

 

'취업 준비 > 기술 면접' 카테고리의 다른 글

프로세스와 스레드  (0) 2020.12.09
접근 제어자  (0) 2020.12.09
JAVA 란?  (0) 2020.12.09
상속과 구현의 장단점/차이점   (0) 2020.12.09
오버로딩 / 오버라이딩 차이  (0) 2020.12.09