2025-3-24 4일차

심서진·2025년 3월 24일

수업 정리

oop(객체 지향 프로그래밍)의 4가지 특징

객체 지향 프로그래밍 : 프로그램을 만드는 기법
1.추상화
2.상속
3.다형성
4.캡슐화


객체 -> 복수개의 데이터를 다루기 위해서

-변수(속성)
-메서드(기능)
*객체는 위의 두 개를 가짐
1.arr(array) : 배열

int[] arr = new int[3];
arr[0] = 10;
arr[1] = 40;
arr[2] = 30;

int[] arr2 = {10, 40, 30};
*위와 아래는 같은 값(아래의 내용은 배열에만 사용 가능 / 배열을 제외한 다른 객체들은 사용할 수 없음)

=오직 정수형 데이터들만 들어갈 수 있는 arr 라는 변수(하나의 공간)를 만들고
int[3] 모양으로 된 객체 하나를 만들어서 객체를 컨트롤 할 수 있느 리모컨을 연결시키겠다.
리모컨(비유)= 주소 = this

int[] -> 정수들(복수)
arr -> 변수명
= -> 대입연산자
new -> 객체 하나를 만들겠다(new 하나당 객체 하나)
int[3] -> new를 통해 만들어질 객체의 모양
[] = 어떤 타입에 붙여도 사용 가능
arr.length = 방의 갯수
. = 리모컨을 누르겠다.

  1. 2차원 배열(x좌표 , y좌표)
    int[][] arr = new int[1][2];

기본값

-자바에서 변소를 만들었는데 초기화를 안하고 선언만 했다 ?
-> 기본값으로 초기화됨(지역변수는 해당되지 않음)
null : 데이터가 없음(참조형 데이터에만 들어갈 수 있음)
string a = "asd"; -> 데이터O, 값O
string a = ""; -> 데이터O, 값X
string a = null; -> 데이터 자체가 없음


예외

-자바에서 예외처리 방법
try{
예외가 발생할 법한 코드를 적는 곳
} catch() {
소괄호 안에 적혀있는 예외상황에 맞는 예외 발생시 처리할 코드를 적는 곳
} finally{
}

*finally는 무조건 실행

throw : 예외 던지기


사용자 정의 객체

-자바에서 사용하는 모든 데이터 타입은 클래스가 존재한다. <-> 클래스가 있어야 데이터 타입으로의 활용이 가능하다.
-클래스가 있어야(타입이 있어야) 객체를 만들 수 있다.
클래스 = 타입

1.전역변수 : 클래스 안에서, 메서드 밖에서 선언된 변수
전역 -> 전 지역
-자바에는 실질적인 전역변수라는 개념이 없음
-자바는 클래스 없이는 코드를 작성할 수 없음
-전 지역(같은 클래스 내부)에서 사용 가능
-값을 초기화하지 않으면 기본값으로 초기화 해줌
-field

2.지역변수 : 메서드 안에서 선언된 변수, 코드 블럭 안에서 선언된 변수
지역 -> 제한된 지역
-특정 지역 내(본인이 만들어진 지역)에서만 사용 가능
-값을 초기화하지 않으면 사용할 수 없음
-local variable

3.변수의 생명주기 = 라이프사이클 = 변수의 스코프


메서드(기능)

-실행을 위한 기능 (목적:동작
메서드를 만드는 방법
-접근 제어자 -> static유무 -> 리턴타입 -> 메서드명() -> {}
*리턴타입과 메서드명은 필수 / 접근 제어자, static유무는 빠져도 됨

-void 메서드명()
메서드의 리턴 고려X
void : 허공의 ~
->리턴 없어 리턴 안해

-메서드는 아무곳에서나 만들 수 있는 게 아님
-메서드는 클래스 내에서만 존재할 수 있음
클래스 내에서만 -> 클래스 안에서만

메서드 : 클래스 안에서 만들어진 함수
함수 : 전역공간에 만들어진 함수
메서드 호출문 = 함수 호출문
메서드 실행문 = 함수 실행문


변수(속성)

-객체를 표현하기 위한 데이터 (목적:저장


에러

StackOverflow
->메모리 영역
->stack영역 overflow -> 흘러넘친다
=stack영역이 흘러넘친다

0개의 댓글