-
[Java 자바] 6. 클래스 ① 객체지향 프로그래밍, 객체와 클래스Programming/Java 2022. 7. 30. 23:49반응형
6-1. 객체 지향 프로그래밍
6-1-1. 객체란?
- 객체는 속성과 동작으로 구성, 자바에서는 이를 필드(Field)와 메소드(Method)라고 부름
- 객체 모델링(Object Modeling): 현실 세계의 객체를 소프트웨어 객체로 설계하는 것6-1-2. 객체의 상호작용
- 소프트웨어는 다른 객체와 서로 상호작용하면서 동작
- 객체들 사이의 상호작용 수단 : 메소드
- 객체가 다른 객체의 기능을 이요하는 것: 메소드 호출// Calculator라는 객체에 변수 2개를 더하는 메소드가 있을 경우, // result에 아래와 같은 방법으로 객체의 메소드에 접근해 값을 저장할 수 있음. int result = Calculator.add(10,20);
6-1-3. 객체 간의 관계
- 객체 지향 프로그래밍 (OOP: Object Oriented Programming)
: 프로그램을 단순히 데이터와 처리 방법으로 나누는 것이 아니라,
수많은 객체라는 기본 단위로 나누어 이들의 상호작용으로 서술하는 방식6-1-4. 객체 지향 프로그래밍의 특징: A PIE
1) Abstraction (추상화)
: 객체들의 공통된 특징을 파악해 정의 해 놓은 설계 기법
- 목적과 관련 없는 부분을 제거하여 필요한 부분만을 표현하기 위한 개념2) Polymorphism (다형성)
: 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질
- 오버라이딩과, 오버로딩이 대표적인 개념
- 하나의 타입에 여러 객체를 대입함으로써 다양한 기능 이용 가능3) Inheritance(상속)
: 상위 객체가 가지고 있는 필드와 메소드를 하위 객체에게 물려주어 이를 사용할 수 있도록 하는 개념
- 상위객체 = 부모객체 = 슈퍼객체
- 하위객체 = 자식객체 = 서브객체
- 이 때, 자식객체는 기존 객체에 없던 새로운 필드나 메소드 추가 가능4) Encapsulation (캡슐화)
: 객체의 필드, 메소드를 하나로 묶고 실제 구현 내용을 감춰 외부에서 접근이 불가능하게 만드는 것
6-2. 객체와 클래스
- 객체를 만들기 위해선 설계도가 필요하며, 자바에서는 이를 클래스라고 한다.
- 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있음
- 인스턴스(instance): 클래스로부터 만들어진 객체- 인스턴스화: 클래스로부터 객체를 만드는 과정
반응형'Programming > Java' 카테고리의 다른 글
[Java 자바] 6. 클래스 ③ 필드, 생성자, 메소드 (0) 2022.07.31 [Java 자바] 6. 클래스 ② 클래스 선언, 객체 생성 (0) 2022.07.31 [Java 자바] 5. 참조 타입 ② 배열, 배열 생성, 배열 길이, 다차원 배열, 향상된 for문 (0) 2022.07.30 [Java 자바] 5. 참조 타입 ① 데이터 타입 분류, 메모리 사용 영역, String (0) 2022.07.30 [Java 자바] 4. 조건문과 반복문 ② 반복문, for문, while문, do-while문 (0) 2022.07.30