package scanner;
import java.util.Scanner;
public class Main01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("int type 입력 : ");
int i = scanner.nextInt();
System.out.println("int 결과 : " + i);
System.out.println("double type 입력 : ");
double d = scanner.nextDouble();
System.out.println("double 결과 : " + d);
System.out.println("String 입력 : ");
String s = scanner.next();
System.out.println("String 결과 : " + s);
scanner.close();
}
}
---------------------------------------------------------
package scanner;
import java.util.Scanner;
/*
* scanner.next() : 공백 전 까지 입력을 받음
* scanner.nextLine() : 한 줄 전체를 입력 받음
*/
public class Main02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("문자열 입력 1 : ");
String str1 = scanner.nextLine();
System.out.println( str1 );
System.out.println("문자열 입력 2 : ");
String str2 = scanner.next();
System.out.println( str2 );
scanner.close();
}
}
---------------------------------------------------------
package scanner;
import java.util.Scanner;
public class Main03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("---------회원 가입을 시작합니다---------");
System.out.println("아이디를 입력하세요 : ");
String str1 = scanner.nextLine();
System.out.println(str1);
scanner.close();
if( str1.length() > 11 ) {
System.out.println("아이디는 10자 이하의 "
+ "글자로만 입력해 주세요.");
} else {
System.out.println("입력하신 아이디는 "
+ str1 + "입니다. 회원가입을 시작합니다.");
}
}
}
파라미터의 데이터 형이 서로 다르기 때문에 오버로드 성립
public void user(int a){}
public void user(long a){}
파라미터의 개수가 서로 다르기 때문에 오버로드 성립
public void user(int a){}
public void user(int a, int b){}
데이터 형의 전달 순서가 서로 다르기 때문에 오버로드 성립
public void user(int a, long b){}
public void user(long a, int b){}
-> println()을 보면 이미 오버로드되어있는 메서드를 사용하고 있었다.
package overload;
public class Charactor {
private String job;
private int age;
public void setProperty( String job ) {
this.job = job;
}
public void setProperty( int age ) {
this.age = age;
}
public void setProperty( String job, int age ) {
this.job = job;
this.age = age;
}
public void setProperty( int age, String job ) {
this.age = age;
this.job = job;
}
public String toString() {
return "Charactor [ job = " + job + ", age = " + age + "]";
}
}
package overload;
public class Main01 {
public static void main(String[] args) {
Charactor c = new Charactor();
System.out.println( c.toString() );
c.setProperty(19);
System.out.println( c.toString() );
c.setProperty("회사원");
System.out.println( c.toString() );
c.setProperty("자영업", 20);
System.out.println( c.toString() );
c.setProperty(35, "교수");
System.out.println( c.toString() );
}
}
result
Charactor [ job = null, age = 0]
Charactor [ job = null, age = 19]
Charactor [ job = 회사원, age = 19]
Charactor [ job = 자영업, age = 20]
Charactor [ job = 교수, age = 35]
package overload;
class Hello{
Hello(){
System.out.println("Hello");
}
Hello( String msg ){
System.out.println( msg );
}
}
public class Main02 {
public static void main(String[] args) {
Hello h1 = new Hello();
Hello h2 = new Hello("월요일 입니다.");
}
}
result
Hello
월요일 입니다.
class Hello {
public Hello(String msg){
System.out.println(msg);
}
public Hello(){
// Hello(String msg) 생성자를 호출 ↓
this("안녕하세요"); -> 파라미터 생성자 호출 (2)
// -> 데이터 일괄 초기화를 하기 위해
}
}
* 두 개다 객체 생성 가능
1. Hello h1 = new Hello(); -> 기본 생성자 호출 (1)
2. Hello h2 = new Hello("Hi"); -> Hi 출력
package overload;
public class Article {
private int seq; // 글 번호
private String subject; // 글 제목
private String writer; // 글 작성자
// 파라미터가 있는 생성자
public Article(int seq, String subject, String writer) {
super();
this.seq = seq;
this.subject = subject;
this.writer = writer;
}
public Article(int seq, String writer) {
this(seq, "제목없음", writer);
// this.seq = seq;
// this.subject = "제목없음";
// this.writer = writer;
}
public Article(int seq) {
this(seq, "제목없음", "익명");
// this.seq = seq;
// this.subject = "제목없음";
// this.writer = "익명";
}
// toString()
@Override
public String toString() {
return "Article [seq=" + seq
+ ", subject=" + subject
+ ", writer=" + writer + "]";
}
package overload;
public class Main04 {
public static void main(String[] args) {
Article a1 = new Article(1, "첫 번째 게시물", "자바학생");
System.out.println(a1.toString());
Article a2 = new Article(2, "자바학생2");
System.out.println(a2);
Article a3 = new Article(3);
System.out.println(a3);
}
}
result
Article [seq=1, subject=첫 번째 게시물, writer=자바학생]
Article [seq=2, subject=제목없음, writer=자바학생2]
Article [seq=3, subject=제목없음, writer=익명]