[22.12.02] 30일차 [백엔드] Java 클래스 생성

W·2022년 12월 2일
0

국비

목록 보기
42/119
  • 클래스 정의
  1. Car 클래스 정의
    => 멤버변수 company, model, price
    => 메서드 run() 차가 달린다 출력
package test;

public class Car {
	public String company;
	public String model;
	public int price;
	
	public void run() {
		System.out.println("차가 달린다");
	}

}
  1. Car 클래스 객체 생성(기억장소 할당), 인스턴스 화
  2. 멤버변수, 메서드 호출
package test;

public class Test1 {
	public static void main(String[] args) {
	
		Car c = new Car();
		
		c.company = "현대";
		c.model = "아반떼";
		c.price = 3000;
		
		System.out.println(c.company);
		System.out.println(c.model);
		System.out.println(c.price);
		
		c.run();

	}

}
  • Car 정의된 클래스(설계도)에 대한 객체(인스턴스)생성
  • new Car() 메모리공간(힙Heap)에 인스턴스 생성 주소 부여
  • 주소값을 Car c 참조변수에 저장
  • c 참조변수를 통해서 메모리공간(힙Heap) 접근
  • 하나의 클래스에 여러개의 인스턴스(객체)를 생성가능
  • 클래스명 참조변수= new 클래스명();
  • new 키워드 통해 Heap 메모리공간에 인스턴스(객체)
  • 인스턴스의 주소값이 변수에 전달되어서 저장
  • 참조변수.멤버변수명, 참조변수.메서드명() 호출
  1. Student 클래스 정의
    => 멤버변수 문자num, name, kor, eng, math
    => 메서드 intro()
    "번호 :" + num 출력
    "이름 :" + name 출력
    => 메서드 sum() kor,eng, math 합을 구해서 리턴
package test;

public class Student {
	public String num;
	public String name;
	public int kor;
	public int eng;
	public int math;
	
	public void intro() {
		System.out.println("번호 : " + num);
		System.out.println("이름 : " + name);
	}
	
	public int sum() {
		return kor+eng+math;
	}

}
  1. Student 객체생성(기억장소 할당), 인스턴스화
    멤버변수 값 저장 num name kor eng math
    intro() 메서드 호출
    sum() 메서드 호출 => 리턴값 출력
package test;

public class Test2 {

	public static void main(String[] args) {
		Student s = new Student();
		
		s.num = "1";
		s.name = "홍길동";
		s.kor = 95;
		s.eng = 90;
		s.math = 90;
		
		s.intro();
		
		System.out.println("학생의 점수합계 : "+ s.sum());
		System.out.println("학생의 점수평균 : " + s.sum()/3);
		
		// =====================================
		
		Student s2 = new Student();
		
		s2.num = "2";
		s2.name = "이길동";
		s2.kor = 70;
		s2.eng = 80;
		s2.math = 90;
		
		s2.intro();
		
		System.out.println("학생의 점수합계 : "+ s2.sum());
		System.out.println("학생의 점수평균 : " + s2.sum()/3);
		
	}                                
}

예제)

  • 클래스 Person
    나이, 이름, 성별, 결혼여부, 자녀수
    prn() 출력 나이 : 이름 : 결혼여부: 자녀수:
package test;

public class Person {
	public int age;
	public String name;
	public String gender;
	public boolean marry;
	public int baby;
	
	public void prn() {
		System.out.println("나이 : " + age );
		System.out.println("이름 : " + name);
		System.out.println("성별 : " + gender);
		if(marry) {
		System.out.println("결혼여부 : 기혼");
		}else {
			System.out.println("결혼여부 : 미혼");
		}
		System.out.println("자녀수 : " + baby);
	}
	
}
package test;

public class Test3 {

	public static void main(String[] args) {

		Person p = new Person();
		p.age = 36;
		p.name = "홍길동";
		p.gender = "남";
		p.marry = true;
		p.baby = 2;
		
		p.prn();
		
		
	}

}
  • 클래스 Order
    주문번호, 아이디, 날짜, 이름, 상품번호, 주소
    prn()
package test;

public class Order {

	public String orderNum;
	public String id;
	public String date;
	public String name;
	public String productNum;
	public String address;
	
	public void prn() {
		System.out.println("주문 번호 : " + orderNum);
		System.out.println("주문자 아이디 : " + id);
		System.out.println("주문 날짜 : " + date);
		System.out.println("주문자 이름 : " + name);
		System.out.println("주문 상품 번호 : " + productNum);
		System.out.println("배송 주소 : " + address);

	}
}
package test;

public class Test3 {

	public static void main(String[] args) {
		Order o = new Order();
		o.orderNum = "201803120001";
		o.id = "abc123";
		o.date = "2018년 3월 12일";
		o.name = "홍길순";
		o.productNum = "PD0345-12";
		o.address = "서울시 영등포구 여의도동 20번지";
		
		o.prn();
		
	}

}

0개의 댓글