본문 바로가기

Study_web/Java

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

1. 캡슐화 (Encapsulation)
- 외부 객체에서    -호출 가능-> 노출 메소드
                        -읽기/쓰기 가능-> 노출 데이터
                        -읽기/쓰기 불가능-> 숨긴데이터
                        -호출 불가능-> 숨긴 메소드
- 캡슐화란 객체의 필드, 메소드를 하나로 묶고, 실제 구현 내용을 감추는 것을 말한다.
- 감내용을 감추는 이유는 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 하는데 있다.
- 자바는 접근 제한자(Access Modifier)를 사용해서 사용 범위를 제한함으로 외부로부터 보호한다.

2. 상속(Inheritance)
- 상위 객체는 자기가 가지고 있는 필드와 메소드를 하위 객체에게 물려주어
  하위 객체가 사용할 수 있도록 해준다.
- 상위 객채 = 필드1 + 메소드1
  하위 객체 = 필드1 + 메소드1 + 필드2 + 메소드2 (상위 객체에서 상속 받고 추가하여 설계 가능하다)
- 상속은 상위객체를 재사용하여 반복된 코드를 줄여주어 개발의 효율을 높여준다.

3. 다형성(Polymorphism)

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

- 자바는 다형성을 위해 부모 클래스 또는 인터페이스의 타입 변환을 허용한다.

- 부모 타입에는 모든 자식 객체가 인터페이스 타입에는 모든 구현 객체가 대입될 수 있다.

- 예) 자동차 설계시 타이어 인터페이스 타입을 적용했다면 이 인터페이스를 구현한 타이어들은 어떤 것이든 상관없이

  장착(대입)이 가능하다.

 

 

'Study_web > Java' 카테고리의 다른 글

배열 메서드  (0) 2021.06.19
싱글톤(Singleton)  (0) 2021.03.02
List와 Map 간단하게 이해하기  (0) 2021.02.19
클래스 선언  (0) 2021.01.03
객체와 클래스  (0) 2021.01.03