세리프 따라잡기
객체지향프로그래밍 4 본문
1. 메소드의 배열 리턴
- 배열 리턴
배열의 레퍼런스만 리턴(배열 전체가 리턴되는 것이 아님) = 배열이 가리키고 있는 변수 값을 리턴
- 메소드의 리턴 타입
리턴하는 배열 타입과 리턴 받는 배열 타입이 일치
리턴 타입에 배열의 크기를 지정하지 않음
- 배열을 리턴 받아 사용하는 과정
* main 바깥에 있는 메소드나 변수 등을 사용하고 싶다면 반드시 static을 입력해야 사용할 수 있다.
ex. static int ~~
2. 자바의 예외 처리
- 예외(Exception): 실행 중 오동작이나 결과에 악영향을 미치는 예상치 못한 상황 발생
자바에서는 실행 중 발생하는 에러를 예외로 처리
- 실행 중 예외가 발생하면: 자바 플랫폼은 응용프로그램이 예외를 처리하도록 호출
응용프로그램이 예외를 처리하지 않으면 프로그램을 강제 종료 시킴
- 예외 발생 경우
정수를 0으로 나누는 경우
배열의 크기보다 큰 인덱스로 배열의 원소를 접근하는 경우
정수를 읽는 코드가 실행되고 있을 때 사용자가 문자를 입력한 경우
- try-catch-finally문 예외처리
발생한 예외에 대해 개발자가 작성한 프로그램 코드에서 대응하는 것
try-catch-finally문 사용 (finally 블록은 생략이 가능하기 때문에, try-catch를 많이 사용한다)
→ 이때 발생한 예외가 catch()의 처리할 예외 타입과 일치하는 catch 블록이어야 실행된다.
자바 플랫폼은 응용프로그램이 실행 중 오류를 탐지할 수 있도록 많은 예외를 클래스 형태로 제공한다.
3. 객체
객체마다 고유한 특성(state)과 행동(behavior)을 가짐
曰: 객체지향프로그래밍에서 객체는 두 가지로 구성되어 있는데, 객체의 상태를 표현하는 값과 어떻게 동작하느냐 [필드, 메소드]
# 자바의 객체 지향 특성들
- 캡슐화: 객체를 캡슐로 싸서 내부를 볼 수 없게 하는 것
객체의 가장 본질적인 특징 (외부의 접근으로부터 객체 보호)
- 자바의 캡슐화
클래스(class): 객체 모양을 선언한 틀(캡슐화하는 틀)
객체: 생성된 실체(instance)
클래스 내에 메소드와 필드가 구현
- 상속
상위 개체의 속성이 하위 개체에 물려짐
하위 개체가 상위 개체의 속성을 모두 가지는 관계
- 자바 상속
상위 클래스(super class)의 멤버를 하위 클래스(sub class, 상위 클래스 코드의 재사용, 새로운 특성 추가 가능)가 물려받음
- 다형성
같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 구현되는 것
ex. 메소드 오버로딩: 한 클래스 내에서 같은 이름이지만 다르게 작동하는 여러 메소드
메소드 오버라이딩: 슈퍼 클래스의 메소드를 동일한 이름으로 서브 클래스마다 다르게 구현
4. 객체 지향 언어의 목적 [ divide , conquer ]
- 소프트웨어의 생산성 향상
컴퓨터 산업 발전에 따라 소프트웨어의 생명 주기(life cycle) 단축: 소프트웨어를 빠른 속도로 생산할 필요성 증대
객체 지향 언어 = 상속, 다형성, 객체, 캡슐화 등 소프트웨어 재사용을 위한 여러 장치 내장 / 소프트웨어 재사용과 부분 수정 빠름 / 다시 만드는 부담 대폭 줄임
4-4 31:30
'Java' 카테고리의 다른 글
객체지향프로그래밍 3 (0) | 2021.03.29 |
---|---|
객체지향프로그래밍 2 (0) | 2021.03.29 |
객체지향프로그래밍 1 (0) | 2021.03.08 |