일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 조합
- 자료구조
- 통계학
- matplotlib
- 기계학습
- DataFrame
- tree.fit
- SQL
- 리스트
- numpy
- INSERT
- Folium
- 등비수열
- plt
- MacOS
- pandas 메소드
- maplotlib
- Slicing
- Machine Learning
- 순열
- 재귀함수
- pandas filter
- 등차수열
- 문제풀이
- pandas
- 머신러닝
- 파이썬
- python
- 스터디노트
- barh
Archives
- Today
- Total
코딩하는 타코야끼
[Java][TIL]_Ch07_객체 지향 프로그래밍의 기초 본문
728x90
반응형
1. 객체 지향 프로그래밍 개요
1-1. 객체 지향 프로그래밍이란
객체 지향 프로그래밍(OOP)이란
- 프로그램을 조립하여 만드는 방식
- 프로그램을 부분별로 만든 뒤 전체를 구성하는 형식
자전거를 예를 들면,
- 자전거는 바퀴, 몸체, 손잡이 등의 부품으로 구성
- 자전거를 프로그램이라 한다면 각 부품은 객체가 됨
- 이렇게 각 객체가 모여 전체 프로그램을 구성하는 방식을 OOP라 한다.
1-2. 객체 지향 프로그래밍의 장점
유지 보수성( 고치기 쉽다 )
- OOP 기반 프로그램은 객체별 관리 기능.
- 문제가 생기더라도 특정 객체의 코드만 고치면 된다.
코드 재 사용성
- 다양한 코드뿐 아니라 다른 프로그램에서까지 손쉽게 사용할 수 있다.
프로그램 확장성
- 처음부터 조립 방식을 고려해 만들기 떄문에 새로운 코드로 확장하기 편리하다.
1-3. 클래스와 객체의 관계
클래스(class): 객체의 설계도
- 자전거 부품의 설계도가 필요하듯 객체를 만들려면 클래스가 필요.
객체(object): 클래스를 토대로 만들어진 프로그램의 구성 요소
인스턴스화(instantiation) : 클래스를 토대로 객체를 만드는 과정
- 이러한 이유로 객체를 인스턴스(instance)라고 부르기도 함
2. 클래스 설계와 구현
1. 클래스를 설계하기
1-1. 클래스 설계란
- 객체를 미리 구상하는 과정으로
- 객체의 상태(state)와 동작(behavior)을 정의하는 것
- 이때 상태는 변수, 동작은 메소드로 만들 수 있는데
- 클래스는 객체가 가질 상태를 필드(field), 동작을 메소드(method)로 정의
1-2. 클래스를 도식화한 것을 클래스 다이어그램(class diagram) 이라고 한다.
- 고양이를 클래스를 설계해보자
3. 객체의 활용
1. 객체 생성하기
1-1. 객체 생성 형식
- new 키워드와 함께 클래스명과 소괄호를 적어 생성한다.
- 생성 객체를 다시 사용하기 위해 레퍼런스 변수를 활용할 수 있다.
1-2. 객체 생성 과정
- Cat 클래스를 객체로 만드는 예
- Cat.java 파일(실행 X) - Hard Disk에 있음
- Cat 클래스가 실행 가능한 상태(메모리에 있음)
- 객체→ 수증기(실행게임)
2. 필드 사용하기
2-1. 인스턴스 변수
- 객체 속에 존재하는 필드를 인스턴스변수(instance variable)라 한다.
- Cat 객체의 인스턴스변수 name, breeds, weight를 출력하는 예이다.
2-2. 닷 연산자
- 닷(.) 연산자는 객체 접근을 위한 연산자
- c.name은 다음의 두 단계로 동작
- 다음은 인스턴스변수를 변경하는 코드
예제)
결과)
3. 여러 객체 만들기
3-1. 클래스 설계와 구현
- 하나의 클래스로 여러 객체를 만들 수 있다.
- 강아지(Dog) 클래스 다이어드램을 설계 및 구현해 이를 확인할 수 있다.
3-2. 객체 생성과 필드의 사용
- 두 강아지 객체를 레퍼런스 변수 d1과 d2에 연결하는 코드 예
!
- 두 강아지의 상태 변경 예(레펀러스 변수와 닷 연산자를 사용)
4. 인스턴스 메소드 호출하기
4-1. 인스턴스 메소드(instance method)
- 특정 객체가 주체가 되어 수행하는 동작을 뜻한다.
- 다음은 두 강아지 객체의 인스턴스 메소드의 호출 예
- 인스턴스 메소드의 호출 결과
- 누가 꼬리를 쳤는지, 누가 짖었는지를 다음과 같이 구분하려면?
⇒ 메소드 내부에서 필드를 사용
- 필드의 활동영역이 클래스 전체이기 때문에 메소드 내부에서 사용 가능.
- 메소드에서 필드값을 사용한 예
예제)
결과)
반응형