🔥 Vamos/Java

0902 | 객체 지향 개념 기본 용어 정리

unikue 2022. 9. 2. 22:31

객체 지향 프로그램

① 객체 정의

② 각 객체가 어떤 기능을 제공하는지 속성 파악

③ 객체 간 협력을 어떻게 구현할 것인가?

 

용어 설명
객체 객체 지향 프로그램의 대상. 생성된 인스턴스
클래스 객체의 속성과 기능을 코드로 구현
패키지 클래스 파일의 묶음
인스턴스 실제로 사용할 수 있도록 생성된 클래스 → 힙메모리에 생성됨
멤버 변수 클래스의 속성, 특징
스택 함수 호출시 그 함수만을 위해 생성되는 메모리 공간. last in first out
메서드 함수 중 클래스 내부에서 사용하는 멤버 함수. 멤버 변수를 이용하여 클래스의 기능을 구현
참조 변수 메모리에 생성된 인스턴스를 가르키는 클래스형 변수
참조 값 생성된 인스턴스의 메모리 주소 값

클래스형 변수이름 = new 생성자

참조변수 . 멤버변수

참조변수 . 메서드


접근제어자

접근 제어자 설명
public 외부 클래스 어디서나 접근 가능
protected 같은 패키지 내부, 상속 관계 클래스에서만 접근 가능
그외 클래스에서는 접근 불가
아무것도 없는 경우 default. 같은 패키지 내부에서만 접근 가능
private 같은 클래스 내부에서만 접근 가능

변수와 메모리

변수 유형 선언 위치 사용 범위 메모리 생성과 소멸
지역 변수
(로컬변수)
함수 내부에 선언 함수 내부만 스택 함수가 호출될 때 생성되고 함수가 끝나면 소멸
멤버 변수
(인스턴스 변수)
클래스
멤버변수로 선언
클래스 내부
private가 아니면 참조변수로 다른 클래스에서도 사용
인스턴스가 생성될 때 힙에 생성
가비지 컬랙터가 메모리를 수거할 때 소멸
static 변수
(클래스 변수)
static예약어 사용
클래스 내부에 선언
클래스 내부에서 사용
private가 아니면 클래스 이름으로 다른 클래스에서 사용
프로그램
데이터영역
프로그램 처음 시작 시,
상수와 함께 데이터 영역에 생성.

프로그램이 끝나고 (닫기) 메모리 해제시 소멸

함수에서 기능구현을 위해 잠시 사용한다면 ? 👉 지역변수

클래스의 속성을 나타내고 각 인스턴스마다 다른 값을 가진다면? 👉 인스턴스변수

여러 인스턴스에서 공유하여 사용하도록 한 번만 생성되어야 한다면? 👉 static 변수