본문 바로가기

혼자하는 공부/노트

객체 지향 프로그래밍 용어 정리

●절차 지향 프로그래밍

- 물이 위에서 아래로 흐르듯이 순차적인 처리가 중요시 되며 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법

 

-장점

1. 컴퓨터의 처리구조와 유사해 실행속도가 빠름

 

-단점

1. 유지보수가 어려움

2. 실행 순서가 정해져 있으므로 코드의 순서가 바뀌면 동일한 결과를 보장하기 어려움

3. 디버깅이 어려움

 

●객체 지향 프로그래밍(OOP)

- 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법

 

-장점

1. 코드의 재사용이 용이

2. 유지보수가 쉬움

3. 대형 프로젝트에 적합

 

-단점

1. 처리속도가 상대적으로 느림

2. 객체가 많으면 용량이 커질 수 있음

3. 설계시 많은 시간과 노력이 필요

 

●클래스

- 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀, 객체를 정의 하기 위한 상태(멤버변수)와 메서드(함수)로 구성된다.

 

●객체(instance)

- 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 달픈것과 식별 가능한 것을 말한다.

 

●추상화

- 공통의 속성이나 기능을 묶어 이름을 붙이는 것

 

 

●캡슐화

-객체의 속성과 행위(메서드)를 하나로 묶고 실제 구현 내용 일부를 외부에 감추어 은닉한다.

-외부 객체는 객체 내부의 구조를 얻지 못하며 객체가 노출해서 제공하는 필드와 메소드만 이용할 수 있다.

-필드와 메소드를 캡슐화하여 보호하는 이유는 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 하는데 있다.

-자바 언어는 캡슐화된 멤버를 노출시킬 것인지 숨길것인지를 결정하기 위해 접근 제한자(public, private, protect)를 사용한다

 

●상속

- 자식 클래스가 부모 클래스의 멤버를 물려받는 것

- 자식이 부모를 선택해서 물려 받는 것

- 상속 대상: 부모의 필드와 메소드

 

상속의 효과

- 부모 클래스를 재사용해서 자식 클래스를 빠르게 개발할 수 있다.

- 코드의 중복을 줄여준다.

- 유지 보수의 편리성 제공

- 객체의 다형성을 구현할 수 있다.

 

● 다형성

- 같은 타입이지만 실행 결과가 다양한 객체를 대입 할 수 있는 성질

- 하나의 객체가 여러 가지 타입을 가질 수 있음

 

 

'혼자하는 공부 > 노트' 카테고리의 다른 글

디자인 패턴 관련 용어  (0) 2021.06.21