Java(Class&Method)_Class_04~05

2024. 10. 28. 18:03·Java/기초 내용 정리

2024-10-28

 

 

 

 

 

학생 학번 >>> 2024_001
학생 이름 >>> 홍길동
학생 학과 >>> 경제학과
학생 나이 >>> 28
학생 연락처 >>> 010-1111-1234
학생 주소 >>> 서울시 마포구

학생 학번 >>> 2024_002
학생 이름 >>> 세종대왕
학생 학과 >>> 국문학과
학생 나이 >>> 55
학생 연락처 >>> 010-2222-2345
학생 주소 >>> 서울시 중구 태평로

04_Console

 

 

학생의 학번, 이름, 학과, 나이, 연락처, 주소를 입력하세요.
2024-001
홍길동
컴퓨터공학과
25
010-1234-5678
서울시 마포구
학생 학번 >>> 2024-001
학생 이름 >>> 홍길동
학생 학과 >>> 컴퓨터공학과
학생 나이 >>> 25
학생 연락처 >>> 010-1234-5678
학생 주소 >>> 서울시 마포구

05_Console

 

package classes;

/*
 *  1. 클래스를 대상을 객체 생성하는 과정
 *  	형식) 클래스이름 참조변수 = new 클래스이름(); ==> x
 *  		클래스이름 참조변수 = new 생성자();   ==> o
 *  
 *  2. 생성자(constructor)?
 *  	1) 클래스를 대상으로 객체를 생성하는 역할을 함
 *  	2) 클래스 이름과 동일함.
 *  	3) 클래스에 포함되어있으며, 객체를 생성할 때 자동으로 딱
 *  	   한 번만 호출이 됨.
 *  	4) 클래스는 생성자를 통해서 객체로 생성이 됨.
 *  
 *   		생성자 형식)
 *   			[접근제한] 생성자이름(매개변수) {
 *   				생성자 호출 시 실행 될 문장;
 *  		}
 *  
 *  	5) 생성자는 메서드 형태를 띄고있음. 생성자는 리턴 타입이
 *  	   없는 것이 특징.
 *  		==> 리턴타입(반환형)(x), void(x), 매개변수(o)
 *  	6) 모든 클래스는 반드시 한 개 이상의 생성자를 가지고있음.
 *  	7) 사용자가 생성자를 정의하지 않으면, JVM이 컴파일 시점에서
 *  		자동으로 기본 생성자를 만들어줌.
 *  
 *  3. 생성자의 목적 : 멤버변수들의 초기화를 목적으로 사용이 됨.
 *  
 *  4. 생성자의 특징
 *  	1) 생성자 이름 == 클래스 이름
 *  	2) 메서드와 다르게 반환형이 없음
 *  	3) 클래스에는 반드시 한 개 이상의 생성자를 가지고 있음.
 *  	4) 생성자 오버로딩이 가능함
 *  		(즉, 여러개의 생성자가 존재할 수 있음)
 *  	5) 생성자가 보이지 않으면 기본 생성자가 숨어있음
 *  	6) 기본 생성자라 함은 매개변수가 없는 생성자를 말함
 *  	7) 기본 생성자 외의 다른 생성자를 만들면, 숨어있던 기본 
 *  		생성자는 사라짐.
 *  	8) 기본 생성자 외의 다른 생성자를 만들면, 무조건 기본 생성자를 만들어 줄 것
 *  		(만약 기본 생성자를 만들지 않으면 상속에서 문제가 발생함
 *  			==> 상속에서 추후 설명 예정)
 */

public class Student {
	
	//  멤버변수
	String hakbun;			//  학생 학번
	String name;			//  학생 이름
	String major;			//  학생 학과
	String age;				//  학생 나이
	String phone;			//  학생 연락처
	String addr;			//  학생 주소
	
	
	public Student() {}		//  기본 생성자
	
	public Student(String h, String n, String m,	//  인자 생성자
			String a, String p, String ad) {
			
			hakbun = h;
			name = n;
			major = m;
			age = a;
			phone = p;
			addr = ad;
	}
	
	
	//  멤버메서드
	void getStudentInfo() {
		
		System.out.println("학생 학번 >>> " + hakbun);
		System.out.println("학생 이름 >>> " + name);
		System.out.println("학생 학과 >>> " + major);
		System.out.println("학생 나이 >>> " + age);
		System.out.println("학생 연락처 >>> " + phone);
		System.out.println("학생 주소 >>> " + addr);
		
	}	//  getStudentInfo 메서드 end

}

 

package classes;

public class Student_04 {

	public static void main(String[] args) {
		
		//  기본 생성자를 이용하여 객체 생성
		Student student1 = new Student();
		
		student1.hakbun = "2024_001";
		student1.name = "홍길동";
		student1.major = "경제학과";
		student1.age = "28";
		student1.phone = "010-1111-1234";
		student1.addr = "서울시 마포구";
		
		student1.getStudentInfo();
		
		System.out.println();
		
		//  인자 생성자를 이용하여 객체 생성
		Student student2 = new Student("2024_002", "세종대왕", "국문학과", 
				"55", "010-2222-2345", "서울시 중구 태평로");
		
		
		student2.getStudentInfo();
	}
}

04_Console

 

package classes;

/*
 *  키보드로 입력받는 방법
 */

import java.util.Scanner;

public class Student_05 {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		
		System.out.println
			("학생의 학번, 이름, 학과, 나이, 연락처, 주소를 입력하세요.");
		
		Student student = new Student
			(sc.nextLine(), sc.nextLine(), sc.nextLine(), sc.nextLine(),
					sc.nextLine(), sc.nextLine());		//문자열 한정 공백도 포함
		
		student.getStudentInfo();
		
		sc.close();
		
	}

}

05_Console

'Java > 기초 내용 정리' 카테고리의 다른 글

Java(Class&Method)_Class_07  (0) 2024.10.28
Java(Class&Method)_Class_06  (0) 2024.10.28
Java(Class&Method)_Class_03  (0) 2024.10.28
Java(Class&Method)_Class_02  (0) 2024.10.28
Java(Class&Method)_Class_01  (0) 2024.10.28
'Java/기초 내용 정리' 카테고리의 다른 글
  • Java(Class&Method)_Class_07
  • Java(Class&Method)_Class_06
  • Java(Class&Method)_Class_03
  • Java(Class&Method)_Class_02
mw41817
mw41817
일생의 개발 기록 저장소
  • mw41817
    IT 개발 일지
    mw41817
    • Index (487)
      • HTML (36)
        • 기초 내용 정리 (36)
      • CSS (29)
        • 기초 내용 정리 (29)
      • JavaScript (60)
        • 기초 내용 정리 (60)
      • JQuery (38)
        • 기초 내용 정리 (38)
      • Java (232)
        • 기초 내용 정리 (232)
      • JSP (46)
        • 기초 내용 정리 (46)
      • Spring, Boot (31)
        • 기초 내용 정리 (31)
      • DB (5)
        • Oracle SQL (5)
      • Code WorkBook (6)
        • programmers (6)
        • Baekjoon (0)
      • 기타 (1)
        • 유용한 사이트 (3)
  • 전체
    오늘
    어제
  • 글쓰기 관리
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 카테고리
    • 주인장 GitHub
  • 공지사항

  • 인기 글

  • 태그

    html #코딩 #프로그래밍 #기초
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
mw41817
Java(Class&Method)_Class_04~05
상단으로

티스토리툴바