- 프로그램을 구성하는 주요 구성 요소를 객체라는 개념으로 모델링하는 프로그래핑 패러다임
- 클래스라는 템플릿을 사용하역 객체를 생성하고 관리
- 코드의 유지 보수성 향상
- 코드의 재사용성 증가
쓰이는 상황
- 현실 세계의 실체를 모델링하는데 사용 ex) 자동차 학생 주문 동물 등과 같은 실제 세계의 개체를 자바 클래스로 표현
- 복잡한 문제를 해결하기 위해 객체의 개념을 사용하여 시스템을 구조화하고 설계하는데 사용
주의할 점
- 객체 간의 관계를 명확히 이해하고 적절한 접근 제어를 사용하여 캡슐화 유지
- 객체의 상태를 변경할 때 동기화 문제 주의
- 불필요한 객체 생성 피하고, 메모리 관리 주의
- 클래스의 설계를 고려하여 확장성과 유지 보수성 고려
학생 객체를 생성하여 학생의 성적관리
// 학생 클래스 정의
Class Student{
String name; // 이름
int age; // 나이
int sutdentID; // 학번
int[] grades; // 성적
// 생성자 : 학생 객체를 초기화
public Student(String name, int age, int studentID, int[] grades){
// this를 통해 인스턴스 변수 접근
this.name = name;
this.age = age;
this.studentID = studentID;
this.grades = grades;
}
// 성적 평균 계산 메서드
public double calculateAverageGrade(){
int sum = 0; // 모든 성적의 합을 나타내는 변수 초기화
for(int grade : grades ){ // 배열의 모든 성적에 대해 반복
sum += grade; // 각 성적 합하기
}
return (double) sum / grades.length; // 성적 평균 반환
}
}