세리프 따라잡기

객체지향프로그래밍 4 본문

Java

객체지향프로그래밍 4

맑은 고딕 2021. 3. 29. 19:54

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
Comments