반응형
객체지향 프로그래밍이란?
- 현실 세계에서 어떤 제품을 만들때 부품을 만들고 하나씩 조립하듯
객체(부품)를 만들고 하나씩 조립해서 완성된 프로그램을 만드는 기법
: OOP(Object Oriented Programming) 객체 지향 프로그래밍
객체란?
- 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있고 다른것과 식별이 가능한 것
- 객체는 속성(필드, field)과 동작(메서드, method)으로 구성
- 현실세계의 객체를 소프트웨어 객체로 설계하는 것은 객체 모델링 이라고 한다.
객체의 상호작용
- 객체들은 각각 독립적으로 존재, 다른 객체와 서로 상호작용을 하면서 동작
- 객체들 사이의 상호작용 수단은 메서드
- 객체가 다른 객체의 기능을 이용하는 것 : 메서드 호출
- 메서드를 실행하기 위해 매개값이 필요한 경우가 있다.
- 리턴값 : 메서드가 실행하고 나서 호출한 곳으로 돌려주는 값
객체 지향 프로그래밍의 특징
1. 추상화
추상화를 어떻게 하느냐에따라 앞으로의 객체를 정의할 수 있다.
2. 캡슐화
정보은닉. (객체를 이용할때 구성을 몰라도 용법만 알아도 사용가능)
외부의 잘못된 사용으로 객체가 손상되지 않도록 하기 위해
3. 상속
기존의 코드를 부모로, 하위의 객체들을 생성해낼때 "상속"받아서 만든다고 표현
부모코드는 하위코드들의 공통분모가 됨
4. 다형성
하나의 타입에 여러 객체를 대입하면서 다양한 기능을 이용할 수 있도록 함
반응형
'JAVA' 카테고리의 다른 글
[JAVA] 컬렉션 프레임워크 (List, Set, Map) (0) | 2022.06.24 |
---|---|
[JAVA] 클래스와 클래스 선언 (필드, 생성자, 메소드, 인스턴스멤버) (0) | 2022.06.21 |
[JAVA] 배열, 함수 활용문제 (로또) (0) | 2022.06.19 |
[JAVA] 메인 메서드가 public static void 이유 (0) | 2022.06.17 |
[JAVA] 중첩반복문 (별찍기) (0) | 2022.06.17 |