728x90
이것들을 피자를 만든다고 생각해서 이해하기로 했다.
- 메서드
메서드는 레시피의 특정 동작과 같다. 특정 동작이란 토핑 추가를 한다. 피자를 굽는다. 등이 있겠다.
public void addToppings(String topping) {
// 토핑을 추가하는 기능
}
public void bakePizza() {
// 피자를 굽는 기능
}
- 생성자
피자을 만드는 사람과 같다. 피자 제조자가 피자을 만들기 위해 레시피를 사용하는 것처럼, 생성자(피자을 만드는 사람)는 객체(피자)의 인스턴스(한조각)를 만들기 위해 클래스를 사용한다.
public class Pizza {
// 피자에 대한 정보를 저장하는 멤버 변수들
public Pizza(String size, String crustType, String sauceType) {
// 피자 객체를 생성하는 생성자
// 입력된 매개변수를 토대로 멤버 변수들을 초기화
}
}
- 클래스
요리 레시피와 같다.
public class Pizza {
// 피자에 대한 정보를 저장하는 멤버 변수들
public Pizza(String size, String crustType, String sauceType) {
// 피자 객체를 생성하는 생성자
// 입력된 매개변수를 토대로 멤버 변수들을 초기화
}
public void addToppings(String topping) {
// 토핑을 추가하는 기능
}
public void bakePizza() {
// 피자를 굽는 기능
}
}
- 객체
피자와 같다. 레시피(클래스)를 사용하여 만들어진 피자는 피자 레시피와는 다른 개별적 물건이다.
마찬가지로 객체도 클래스와 개별적인 관계이다.
Pizza pizza1 = new Pizza("large", "thick crust", "tomato sauce");
Pizza pizza2 = new Pizza("medium", "thin crust", "pesto sauce");
- 인스턴스
객체가 피자라면 인스턴스는 배달된 피자와 같다. 클래스(레시피)를 통해 만들어진 피자(객채)가 메모리에 할당이 된다. 그리고 실제로 사용될 수 있는 상태(배달 준비가 완료된 피자)를 인스턴스라고 할 수 있겠다.
예를 들어 OO아파트 303호에 배달되었다고 하면 303주소에 배달되 있는 피자가 인스턴스이다.
Pizza pizza1 = new Pizza("large", "thick crust", "tomato sauce");
// pizza1은 Pizza 클래스의 인스턴스이다.
Pizza pizza2 = new Pizza("medium", "thin crust", "pesto sauce");
// pizza2는 Pizza 클래스의 인스턴스이다.
'개인 기록' 카테고리의 다른 글
Intellij gradle 버전 변경 및 경로 설정 (0) | 2023.03.30 |
---|---|
Intellij 자바 버전 오류 (0) | 2023.03.30 |
네트워크 정리할 것 (0) | 2023.02.21 |
Linux 명령어 (0) | 2023.02.20 |
Maven 설치 환경변수 설정 (0) | 2023.02.15 |
댓글