- 자바 기초
- ch5. 클래스 구성 요소
- ch6. 다형성
5. 클래스 구성 요소
- 필드
하나의 클래스에 필드 무제한, 객체가 가져야할 데이터, 상태를 저장
객체명.필드명
Person.name
- 메소드
접근 제어자 반환타입 메소드명 (자료형 변수명){
//코드
}
static class Store{
Person person;
Phone phone;
Store(Person person, Phone phone){
this.person = person;
this.phone = phone;
}
//메소드
void sellPhone(){
System.out.println(person.name+"님, 이 핸드폰의 가격은"+phone.price+"원입니다");
}
}
- 생성자
객체를 생성하면서 객체 변수를 초기화하는 역할을 하는 메소드
- 생성자 선언 이유: 인스턴스(객체) 멤버의 데이터 초기화 가능
- ❓인스턴스와 객체 차이 클래스의 타입으로 선언되었을 때 객체라고 부르고, 그 객체가 메모리에 할당되어 실제 사용될 때 인스턴스라고 부른다. => 인스턴스가 모여 객체를 이룸
- ❓ 오버로딩 vs 오버라이딩
- 오버라이딩 : 자식클래스가 부모클래스의 메서드를 상속 받아도 다른 기능을 사용하고자 하는 경우
- 오버로딩 : 동일한 기능을 하는 메서드를 하나의 이름으로 처리 (파라미터의 개수 차이 등)
Store store = new Store(son, samsung); //생성자 초기화
static class Store{
Person person;
Phone phone;
//생성자
Store(Person person, Phone phone){
this.person = person;
this.phone = phone;
}
//메소드
void sellPhone(){
System.out.println(person.name+"님, 이 핸드폰의 가격은"+phone.price+"원입니다");
}
}
6.다형성
- ❓ 다형성
- 객체 지향 프로그래밍의 대표적인 특징 중 하나
- 상속
- 메소드 오버라이딩
- 클래스 타입 변환
- 하나의 타입으로 다양한 객체를 사용할 수 있는 것
'프디아 백엔드' 카테고리의 다른 글
| 소프트웨어 개발 방법론 (애자일과 폭포수) (0) | 2024.04.15 |
|---|---|
| 내가 생각하는 객체 지향이란? (0) | 2024.04.11 |
| JAVA 인터페이스를 사용해야 하는 이유 (0) | 2024.04.08 |
| 페어프로그래밍 (0) | 2024.04.05 |
| Ch 1 ~ 4. 자바 기본 (1) | 2024.04.03 |