Link
09-17 08:49
Tags
- ChatGPT 번역
- Java switch
- 자바 1대1
- JAVA 데이터타입
- JAVA Parameter
- JAVA 연습예제
- java 변수
- 자바 필드값 초기화
- 프로그래머스 자바
- JAVA 클래스 구성
- JAVA Aray
- 자바 생성자
- 자바 1대1 관계클래스
- eclipse
- Java
- JAVA NULL
- 자바 다차원 배열
- java 연산자
- JAVA 메소드 리턴
- JAVA ObjArray
- 자바 NullPointer
- 리액트 네이티브
- 개발 로드맵
- JAVA 자동판매기
- JAVA MultiParam
- 자바 연산자
- 자바 메서드 매개변수
- 자바 1대다관계
- JAVA 메소드
- 자바 객체형 배열처리
Archives
- Today
- Total
보기보기 개발 블로그
eclipse / 자바 1대1 관계 클래스 본문
안녕하세요
지난 포스팅에서 자바의 Final 을 알아본이후
이번에는 자바 1:1 관계클래스에 대해 알아보겠습니다.
eclipse / 자바 Final
안녕하세요 저번 포스팅에서 자바 Static 에 이어 이번엔 자바Final 에 대하여 알아보겠습니다. eclipse / 자바 Static 안녕하세요 지난 포스팅에서 자바ArrayList에 이어 이번에는 자바 Static에 대하여 알
stackbok.tistory.com
package javaexp.a07_multiObj;
public class A08_OneVsOne {
public static void main(String[] args) {
/*
# 1:1 관계 클래스 선언과 활용
1. 1:1 관계에 있는 경우는 현실에서도 많이 있을뿐만 아니라 실제 프로그래밍에서
많이 발생한다.
ex) 사람이 가지고 있는 핸드폰, 연필과 지우개, 학생과 성적표, 학생과 전공지도교수
tv와 리모콘, 결혼할 커플(남/여)
2. 선언 방식
1) 종속된 클래스를 선언(필드 메서드)
2) 포함하는 클래스를 선언
*/
HPerson p01 = new HPerson("홍길동");
p01.usingPhone();
p01.buyPhone(new HandPhone("01088888888","삼성갤럭시",11000000));
p01.usingPhone();
/* ex) Hobby(취미명,비용,생활기간) : 생성자를 통해서 할당,
* play() 취미내용 출력..
* PlayMan(이름,hobby) - 생성자를 통해서 이름 할당.
// choiceHobby 할당 처리,playHobby()
* 1) 2개 클래스 선언
* 2) 필드값 선언
* -------------------------------
* 3) 생성자 선언 : 데이터를 초기화 처리
* 4) 기능메서드 선언 : 출력 메서드, Hobby를 할당할 메서드, @@가 취미생활이 없다/
* @@가 취미생활이 @@@이다.
* 5) 기능메서드 내용 처리 및 출력
*/
PlayMan pl = new PlayMan("홍길동");
pl.playMyHobby();
pl.choiceHobby(new Hobby("산책",2000,2));
pl.playMyHobby();
#1:1관련 추가연습예제를 통해 '종속객체'를 '할당'하고 내용을 출력처리 하는 연습
1.컴퓨터 (제조사,cpu) vs 소유주(이름, 컴퓨터)
2.연필(종류, 제조사) VS 지우개(제조자,연필)
3.자동차(배기량,제조사) vs 소유주(이름,자동차)
*/
}
}
class PlayMan{
private String name;
private Hobby hb;
public PlayMan(String name) {
super();
this.name = name;
}
public void choiceHobby(Hobby hb){
this.hb = hb;
}
public void playMyHobby() {
System.out.println(name+"의 취미생활");
if(hb==null) {
System.out.println("아직 취미생활이없다");
}else {
hb.play();
}
}
}
class Hobby{//취미명 , 비용 ,생활기간
//일반 객체의 필드값은 접근제어자를 private
private String name;
private int price;
private int time;
public Hobby(String name,int price,int time) {
super();
this.name = name;
this.price = price;
this.time = time;
}
public void play() {
System.out.println("#취미출력#");
System.out.println("취미명:"+name);
System.out.println("비용:"+price);
System.out.println("생활기간:"+time);
}
}
class HPerson{
private String name;
private HandPhone phone;
//생성자를 통해서 이름을 할당.
public HPerson(String name) {
super();
this.name = name;
}
public void buyPhone(HandPhone phone) {
this.phone = phone;
}
public void usingPhone() {
System.out.println(name+"님 핸드폰을 사용합니다.");
if(phone ==null) {
//phone 객체가 메모리로 들어 오지 않는 상황
System.out.println("핸드폰을 소유하지 않았습니다.");
}else {
phone.showInfo();
}
}
}
class HandPhone{
private String number;
private String comp;
private int price;
public HandPhone(String number, String comp,int price) {
super();
this.number = number;
this.comp = comp;
this.price = price;
}
void showInfo() {
System.out.println("핸드폰의 정보");
System.out.println("번호"+number);
System.out.println("제조사"+comp);
System.out.println("구매가격"+price);
}
}
이상으로 자바 1:1 관계 클래스의 선언과 활용에 대해 알아보았습니다
감사합니다.
'Java' 카테고리의 다른 글
eclipse / 자바 패키지 (0) | 2023.03.25 |
---|---|
eclipse / 자바 1대다 관계 클래스 (0) | 2023.03.25 |
eclipse / 자바 Final (0) | 2023.03.23 |
eclipse / 자바 Static (0) | 2023.03.23 |
eclipse / 자바 ArrayList를 통한 배열 처리 (0) | 2023.03.23 |