멤버함수라고도 함
메서드를 구현함으로써 객체의 기능이 구현됨
객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수
함수가 호출될때 지역 변수들이 사용하는 메모리
지역변수는 함수가 실행되면 알아서 사라지는 변수이다
1. add함수가 사용할 메모리 공간이 스택에 생성
2. main에서 add 호출
3. add함수가 사용한 메모리 공간은 자동으로 사라짐
클래스는 객체의 속성을 정의하고 , 기능을 구현하여 만들어 놓은 코드 상태
실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버변수 값을 가지게 됨
- StudentLee라는 인스턴스를 만들었음
Student.java
public class Student {
public int studentID;
public String studentName;
public String address;
public void showStudentInfo() {
System.out.println( studentID +"학번 학생의 이름은 " + studentName + "이고 주소는 " + address +" 입니다.");
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String name) {
studentName = name;
}
}
studentTest.java
public class StudentTest {
public static void main(String[] args) {
Student studentLee = new Student(); //Student클래스를 기반으로 여러개의 인스턴트 생성될 수 있음
// new를 통해 메모리를 할당을 받음
studentLee.studentID = 122345;
studentLee.setStudentName("Lee");
studentLee.address="서울 강남구";
Student studentKim = new Student();
studentKim.studentID = 54321;
studentKim.setStudentName("Kim");
studentKim.address="경기도 성남시";
studentLee.showStudentInfo();
}
}
-------------------------------------------------------------------------
결과
122345학번 학생의 이름은 Lee이고 주소는 서울 강남구 입니다.
new 키워드를 사용하여 인스턴스 생성(메모리를 할당을 받음)
이때 할당 받는 메모리를 동적메모리(heap)이다
System.out.println(studentKim);
System.out.println(studentLee);
--------------------------------
//결과 주소값이 다름
ch03.Student@6108b2d7
ch03.Student@1554909b
객체 :객체 지향 프로그램의 대상, 생성된 인스턴스
클래스 : 객체를 프로그래밍 하기위해 코드로 정의헤 놓은 상태
인스턴스 : new 키워드를 사용하여 클래스를 메모리에 생성한 상태
멤버변수 : 클래스의 속성, 특성
메서드 : 멤버변수를 이용하여 클래스의 기능을 구현한 함수
참조변수 : 메모리에 생성된 인스턴스를 가리키는 변수
참조 값: 생성된 인스턴스 메모리 주소 값