1. 객체 (Obect)
의사나 행위가 미치는 '대상'을 의미하며 구체적, 추상적 데이터의 단위 (학생, 회원, 주문, 배송 등)
2. 절차 지향 vs 객체 지향
3. 객체 지향 프로그래밍 구현
① 객체 정의
② 각 객체가 제공하는 기능들을 구현
③ 각 객체가 제공하는 기능들 간의 소통(메세지 전달)을 통하여 객체간의 통신 구현
1. 클래스 (Class)
현실 세계의 객체 (Object)를 프로그래밍 상에서 구현하기 위한 설계도
2. 클래스 규칙
3. 클래스 정의 (선언)
public class Student {
int studentID;
String studentName;
int majorCode;
String majorName;
int grade;
String address;
public void showStudentInfo() {
System.out.println(studentName + "," + address);
}
public String getStudentName() {
return studentName;
}
}
4. 클래스 구현 (= 인스턴스 생성)
public class StudentTest {
public static void main(String[] args) {
Student studentHong = new Student(); # 인스턴스 1 (studentHong)
studentLee.studentName = "홍길동";
studentLee.address = "서울";
studentLee.showStudentInfo();
Student studentKim = new Student(); # 인스턴스 2 (studentKim)
studentKim.studentName = "김유신";
studentKim.address = "경주";
studentKim.showStudentInfo();
System.out.println(studentHong);
System.out.println(studentKim);
}
}
1. 인스턴스(Instance)
클래스를 기반으로 실제로 구현한 객체를 의미하고 각각 고유의 멤버 변수 값을 소유
2. 인스턴스와 메모리 공간