메서드란?
함수의 일종
객체의 기능을 제공하기 위해 클래스 내부에 구현되는 함수
함수란?
하나의 기능을 수행하는 일련의 코드
중복되는 기능은 함수로 구현하여
함수를 호출하여 사용함
함수와 스택 메모리
함수가 호출될 때 사용하는 메모리 - 스택(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 |