본문 바로가기
프로그래밍 언어/JAVA

클래스와 객체 2

by LifeBuilder 2020. 6. 14.

메서드란?

함수의 일종

객체의 기능을 제공하기 위해 클래스 내부에 구현되는 함수

함수란?

하나의 기능을 수행하는 일련의 코드

중복되는 기능은 함수로 구현하여

함수를 호출하여 사용함

함수와 스택 메모리

함수가 호출될 때 사용하는 메모리 - 스택(stack)

함수의 기능 수행이 끝나면 자동으로 반환되는 메모리

함수 호출과 스택 메모리 구조

함수 호출과 스택 메모리 구조

Class & Instance

클래스( static code )   ------생성( 인스턴스 화 )------->   인스턴스 ( dynamic memory )

클래스 생성하기

클래스 사용하기 위해 클래스 생성 필요

new 예약어를 이용하여 생성

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

Student studentA = new Student();

 인스턴스와 힙(Heap) 메모리

  • 하나의 클래스 코드로 부터 여러 개의 인스턴스를 생성
  • 인스턴스는 힙 메모리에 생성됨
  • 각각의 인스턴스는 다른 메모리에 다른 값을 가짐

힙메모리

  • 동적으로 생성 필요할 시 얼로케이션 받음
  • new라는 키워드에 생성
  • Garbage Collection

스택메모리

  • 함수가 호출되면 지역변수가 쌓이고 함수가 끝나면 해당스택이 없어짐

클래스, 인스턴스, 참조변수, 참조 값

  • 객체 : 객체 지향 프로그램의 대상, 생성된 인스턴스
  • 클래스 : 객체를 프로그래밍하기 위해 코드로 만든상태
  • 인스턴스 : 클래스가 메모리에 생성된 상태
  • 멤버 변수 : 클래스의 속성, 특성
  • 메서드 : 멤버 변수를 이용하여 클래스의 기능을 구현
  • 참조 변수 : 메모리에 생성된 인스턴스(생성된 클래스)를 가리키는 변수
  • 참조 값 : 생성된 인스턴스의 메모리 주소 값

생성자 (Constructor)

  •  내가 이 객체를 생성하면서 해야될 일, 인스턴스를 초기화 할 때의 명령어 집합
    ex) ID를 매개변수로 전달 받아 해당 멤버 변수에 저장
  • 객체 생성시 생성자의 형식에 맞춰 주어야함
  • 생성자 overload 가능
  • 생성자의 이름은 그 클래스의 이름과 같음
  • 생성자는 메소드가 아님. 상속되지 않으며, 리턴 값은 없음

 

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

배열과 ArrayList  (0) 2020.06.25
클래스와 객체 3  (0) 2020.06.24
클래스와 객체 1  (0) 2020.06.12
자바의 여러가지 연산자  (0) 2020.06.12
변수와 자료형  (0) 2020.06.10