본문 바로가기
JAVA/기초

[JAVA 기초] 05 클래스와 객체 1

by 푸_푸 2022. 8. 10.
728x90

*객체와 객체 지향 프로그래밍
- 객체 : 의사나 행위가 미치는 대상
- 객체 지향 프로그래밍 : 객체(어떤 대상)을 가지고 프로그래밍하는 것

*클래스
- 클래스 : 객체의 속성과 기능을 코드로 구현한 것
- 클래스 이름 규칙 : 클래스 이름은 대문자로 시작

(접근제어자) class 클래스 이름 {
    멤버변수;
    메서드;
}


- 멤버변수 : 클래스 내부에 선언하여 객체 속성을 나타내는 변수
- 메서드 : 클래스 내부에서 멤버 변수를 사용하여 클래스 기능을 구현한 것
- 변수와 메서드 이름 규칙 : 소문자로 시작하고 중간에 새 단어로 바뀔 때마다 대문자를 씀(카멜 표기법)

*패키지
- 패키지 : 클래스 파일의 묶음. 프로젝트 전체 소스 코드를 구성하는 계층 구조

*함수
- 함수 : 하나의 기능을 수행하는 일련의 코드

int add (int num1. int num2) {
    int result;
    result = num + num2;
    return result;
}

 

*함수 호출과 스택 메모리
- 스택(Stack) : 함수를 호출할 때 할당되는 메모리 공간
프로그램에서 여러 함수를 사용하는 경우에 함수를 호출한 순서대로 메모리 공간이 만들어지고 맨 마지막에 호출한 함수부터 반환됨

*함수의 장점
1) 기능을 나누어 코드를 효율적으로 구현할 수 있다.
2) 기능별로 함수를 구현해 놓으면 매번 코드로 만들지 않고 그 기능의 함수를 호출하면 되어 편리하고 중복되는 코드를 막을 수 있다. 

*클래스 사용과 main( ) 함수
- main( ) : 자바 가상 머신(JVM)이 프로그램을 시작하기 위해 호출하는 함수 
클래스 안에 포함하거나, 따로 실행 클래스를 만드는 두가지 방법이 있다. 

*new 예약어
- new : 클래스를 생성할 때 사용하는 예약어

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


클래스가 생성된다는 것은 클래스를 실제 사용할 수 있도록 메모리 공간(힙 메모리)을 할당받는다는 뜻

*인스턴스
- 인스턴스 : 클래스가 메모리 공간에 생성된 상태
지역변수는 스택 메모리, 인스턴스는 힙 메모리에 생성
- 힙 메모리 : 동적 메모리 공간. 동적으로 할당되며 사용이 끝나면 직접 메모리를 해제해야 하지만 자바에서는 가비지 콜렉터가 자동으로 메모리를 해제


*참조 변수와 참조 값
- 참조변수 : 힙 메모리에 생성된 인스턴스
- 참조 값 : 인스턴스의 메모리 주소 값. '클래스 이름@주소 값' 형태로 주소 값은 해시 코드 값이라고도 함

*생성자
- 생성자 : 클래스를 생성할 때 사용하는 함수. 클래스를 처음 만들 때 멤버변수나 상수를 초기화함
- 디폴트 생성자 : 컴파일러에서 자동으로 만들어 주는 생성자
생성자를 직접 구현하면 디폴트 생성자는 만들어 지지 않음

*생성자 오버로드
- 생성자 오버로드 : 클래스에 생성자가 두 개 이상 제공되는 경우

*참조 자료형
- 참조 자료형 : 클래스 자료형으로 선언

* 접근 제어자
- public : 외부 클래스에서 접근 가능, 외부 클래스가 사용 가능
- protected : 같은 패키지 내부와 상속관계의 클래스에서만 접근 가능
- default : 같은 패키지 내부에서만 접근 가능
- private : 외부 클래스에서 사용할 수 없음. 같은 클래스 내부에서만 접근 가능
- 정보 은닉 : 클래스 내부에서 사용할 변수나 메소드를 private로 선언해 외부에서 접근하지 못하도록 하는 것

728x90

댓글