2021/01/14 - [공부/자바(java) 융합개발자 2차(복습)] - [자바 기초] 22일차 - 배열, 난수\
자바
객체지향 <-> 절차적
재사용성
클래스, 객체 용어 알기
클래스 : 추상적, 일반적
객체 : 구체적
ex) 붕어빵 틀 -> 똑같은 모양의 붕어빵을 만들기 위함
클래스 객체
설계도 -> 아파트 지음
클래스 객체
객체 : 추상적인 클래스로 만들어진 구체적인 것
사람의 특징을 담아 만든 '나'
클래스 객체
클래스 객체
붕어빵틀 붕어빵
설계도 아파트
앵무새 로니, 망고, 태양이..
클래스를 먼저 정의해 주어야 한다
프로그램으로 클래스를 정의할 때
-> 속성 + 행위 정의
-> 멤버변수 + 메소드(함수)
<Baby 라는 클래스 만들기>
보통 클래스 제목 첫 글자는 대문자로 함
속성 + 행위
package com.day03;
public class Baby {
String name; //이름
int age; //나이
//웃는다
public void smile() {
System.out.println("웃는다");
}
//운다
public void cry() {
System.out.println("운다");
}
}
여기까지가 Baby 클래스. 그러나 실행할 수 없으므로 실행이 가능하도록 객체를 만들어 준다.
public static void main(String[] args) {
Baby b1 = new Baby();
}
b1 이라는 객체가 생겼다.
package com.day03;
public class Baby {
String name; //이름
int age; //나이
//웃는다
public void smile() {
System.out.println("웃는다");
}
//운다
public void cry() {
System.out.println("운다");
}
// 여기까지가 Baby 클래스. 그러나 실행할 수 없으므로 객체를 만든다
public static void main(String[] args) {
Baby b1 = new Baby();
}
}
b1이 운다.
b1.cry();
package com.day03;
public class Baby {
String name; //이름
int age; //나이
//웃는다
public void smile() {
System.out.println("웃는다");
}
//운다
public void cry() {
System.out.println("운다");
}
// 여기까지가 Baby 클래스. 그러나 실행할 수 없으므로 객체를 만든다
public static void main(String[] args) {
Baby b1 = new Baby();
b1.cry();
}
}
실행 : 운다
b1.smile();
실행 : 웃는다
클래스를 만들고 -> 이를 실행하기 위한 객체 생성 -> 실행시킴
b1.name="홍길동";
System.out.println(b1.name);
홍길동
package com.day03;
public class Baby {
String name; //이름
int age; //나이
//웃는다
public void smile() {
System.out.println("웃는다");
}
//운다
public void cry() {
System.out.println("운다");
}
public void info() {
System.out.println("이름:" + name);
System.out.println("나이:" + age);
}
// 여기까지가 Baby 클래스. 그러나 실행할 수 없으므로 객체를 만든다
public static void main(String[] args) {
Baby b1 = new Baby();
b1.cry();
b1.smile();
b1.name="홍길동";
System.out.println(b1.name);
b1.age=10;
b1.info();
}
}
운다
웃는다
홍길동
이름:홍길동
나이:10
package com.day03;
public class Baby {
String name; //이름
int age; //나이
//웃는다
public void smile() {
System.out.println("웃는다");
}
//운다
public void cry() {
System.out.println("운다");
}
public void info() {
System.out.println("이름:" + name);
System.out.println("나이:" + age);
}
// 여기까지가 Baby 클래스. 그러나 실행할 수 없으므로 객체를 만든다
public static void main(String[] args) {
Baby b1 = new Baby();
b1.cry();
b1.smile();
b1.name="홍길동";
System.out.println(b1.name);
b1.age=10;
b1.info();
Baby b2 = new Baby();
b2.name="이순신";
b2.age=5;
b2.info();
}
}
운다
웃는다
홍길동
이름:홍길동
나이:10
이름:이순신
나이:5
하나의 객체를 만들면 그에 해당하는 클래스를 모두 쓸 수 있다.
Person.java
이름 name, 주소 addr를 가지고 공부하다 study() 라는 행위를 하는 Person 클래스를 작성하시오.
package com.day03;
public class Person {
String name;
String addr;
public void study() {
}
}
이것만 가지고는 실행이 불가능하다. 따라서
package com.day03;
public class Person {
String name;
String addr;
public void study() {
System.out.println(name + "공부하다");
}
}
MainTest.java 에 main 만들고 Person 만들어주기
package com.day03;
public class MainTest {
public static void main(String[] args) {
Person p = new Person();
p.name = "강감찬";
p.study();
p.addr="부산";
System.out.println(p.addr);
Baby b = new Baby();
b.smile();
}
}
강감찬 공부하다
부산
웃는다
객체는 어디에나 만들어 주어도 상관 없다.
꼭 그 클래스 안에 있어야만 하는 것이 아니다.
Bank를 만들어보자. 계좌 이름, 계좌 번호만 있고 입급하다, 출근하다, 잔액확인하다를 할 수 있다.
Bank.java
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액
//입금하다
public void inputMoney() {
}
//출금하다
public void outMoney() {
}
//잔액확인
public void getMoney() {
}
}
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액
//입금하다
public void inputMoney() {
}
//출금하다
public void outMoney() {
}
//잔액확인
public void getMoney() {
System.out.println(name + "님 잔액 : " + money);
}
public static void main(String[] args) {
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
}
}
inputMoney(); 아무것도 안 받는데
b1.inputMoney(5000); 이라고 하니까 이런 행위를 찾을 수 없어서 에러가 남
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액 -> 전역변수, 멤버 변수
//입금하다
public void inputMoney(int don) { // 입금할 수 있게 int don이라는 매개 변수 만들어줌 -> 지역변수임
money += don; //잔액 money에 입금한 금액 don을 더함 -> 입금이라는 행위
}
//출금하다
public void outMoney() {
}
//잔액확인
public void getMoney() {
System.out.println(name + "님 잔액 : " + money);
}
public static void main(String[] args) {
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
}
}
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액 -> 전역변수, 멤버 변수
//입금하다
public void inputMoney(int don) { // 입금할 수 있게 int don이라는 매개 변수 만들어줌 -> 지역변수임
money += don; //잔액 money에 입금한 금액 don을 더함 -> 입금이라는 행위
}
//출금하다
public void outMoney() {
}
//잔액확인
public void getMoney() {
System.out.println(name + "님 잔액 : " + money);
}
public static void main(String[] args) {
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
b1.getMoney();
}
}
홍길동님 잔액 : 5000
출금하는 기능도 만들어 주기
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액 -> 전역변수, 멤버 변수
//입금하다
public void inputMoney(int don) { // 입금할 수 있게 int don이라는 매개 변수 만들어줌 -> 지역변수임
money += don; //잔액 money에 입금한 금액 don을 더함 -> 입금이라는 행위
}
//출금하다
public void outMoney(int don) {
money -= don;
}
//잔액확인
public void getMoney() {
System.out.println(name + "님 잔액 : " + money);
}
public static void main(String[] args) {
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
b1.getMoney();
//출금하다
b1.outMoney(7000);
b1.getMoney();
}
}
홍길동님 잔액 : 5000
홍길동님 잔액 : -2000
!! 마이너스 통장이 아님. 있는 돈만큼만 출금 가능하게 하고
-가 되면 잔액이 부족합니다. 라고 뜨게 하기.
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액 -> 전역변수, 멤버 변수
//입금하다
public void inputMoney(int don) { // 입금할 수 있게 int don이라는 매개 변수 만들어줌 -> 지역변수임
money += don; //잔액 money에 입금한 금액 don을 더함 -> 입금이라는 행위
}
//출금하다 잔액 부족
public void outMoney(int don) {
if(money >= don) {
money -= don;
} else {
System.out.println("잔액이 부족합니다");
}
}
//잔액확인
public void getMoney() {
System.out.println(name + "님 잔액 : " + money);
}
public static void main(String[] args) {
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
b1.getMoney();
//출금하다
b1.outMoney(7000);
b1.getMoney();
}
}
홍길동님 잔액 : 5000
잔액이 부족합니다
홍길동님 잔액 : 5000
don은 매개 변수 : 지역변수이므로 -> money로 통일해주는게 나음
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액 -> 전역변수, 멤버 변수
//입금하다
public void inputMoney(int money) { // 입금할 수 있게 int don이라는 매개 변수 만들어줌 -> 지역변수임
money += money; //5번 money = 6번 money
}
//출금하다 잔액 부족
public void outMoney(int money) {
if(money >= money) { //5번 money >= 9번 money
money -= money;
} else {
System.out.println("잔액이 부족합니다");
}
}
//잔액확인
public void getMoney() {
System.out.println(name + "님 잔액 : " + money);
}
public static void main(String[] args) {
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
b1.getMoney();
//출금하다
b1.outMoney(7000);
b1.getMoney();
}
}
홍길동님 잔액 : 0
홍길동님 잔액 : 0
Bank 자기 자신의 Money 앞에는 this.를 붙여주면 구분할 수 있게 된다.
this.는 자기 자신을 가르키는 객체
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액 -> 전역변수, 멤버 변수
//입금하다
public void inputMoney(int money) { // 입금할 수 있게 int don이라는 매개 변수 만들어줌 -> 지역변수임
this.money += money; //5번 money = 6번 money
}
//출금하다 잔액 부족
public void outMoney(int money) {
if(this.money >= money) { //5번 money >= 9번 money
this.money -= money;
} else {
System.out.println("잔액이 부족합니다.");
}
}
//잔액확인
public void getMoney() {
System.out.println(name + "님 잔액 : " + money);
}
public static void main(String[] args) {
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
b1.getMoney();
//출금하다
b1.outMoney(7000);
b1.getMoney();
}
}
이순신 고객이 만원을 입금한다.
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액 -> 전역변수, 멤버 변수
//입금하다
public void inputMoney(int money) { // 입금할 수 있게 int don이라는 매개 변수 만들어줌 -> 지역변수임
this.money += money; //5번 money = 6번 money
}
//출금하다 잔액 부족
public void outMoney(int money) {
if(this.money >= money) { //5번 money >= 9번 money
this.money -= money;
} else {
System.out.println("잔액이 부족합니다.");
}
}
//잔액확인
public void getMoney() {
System.out.println(name + "님 잔액 : " + money);
}
public static void main(String[] args) {
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
b1.getMoney();
//출금하다
b1.outMoney(7000);
b1.getMoney();
//이순신 고객이 만원을 입금
Bank b2 = new Bank();
b2.name ="이순신";
b2.inputMoney(10000);
b2.getMoney();
}
}
홍길동님 잔액 : 5000
잔액이 부족합니다.
홍길동님 잔액 : 5000
이순신님 잔액 : 10000
Sachick. 사칙이라는 클래스 만들기 -> 사칙연산
package com.day03;
public class Sachick {
//덧셈
public void add() {
}
//뺄셈
public void sub() {
}
//곱셈
public void mul() {
}
//나눗셈
public void div() {
}
public static void main(String[] args) {
}
}
package com.day03;
public class Sachick {
//덧셈
public void add(int a, int b) {
System.out.println( a + " + " + b + " = " + (a+b));
}
//뺄셈
public void sub(int a, int b) {
System.out.println( a + " - " + b + " = " + (a-b));
}
//곱셈
public void mul(int a, int b) {
System.out.println( a + " * " + b + " = " + a*b);
}
//나눗셈
public void div(int a, int b) {
System.out.println( a + " / " + b + " = " + a/b);
}
public static void main(String[] args) {
Sachick s1 = new Sachick();
// 5 3 더하기
s1.add(5, 3);
s1.sub(20, 10);
s1.mul(3, 4);
s1.div(9, 3);
}
}
5 + 3 = 8
20 - 10 = 10
3 * 4 = 12
9 / 3 = 3
package com.day03;
public class Sachick {
//덧셈
public void add(int a, int b) {
System.out.println( a + " + " + b + " = " + (a+b));
}
//뺄셈
public void sub(int a, int b) {
System.out.println( a + " - " + b + " = " + (a-b));
}
//곱셈
public void mul(int a, int b, int c) {
System.out.println( a + " * " + b + " * " + c + " = " + a*b*c);
}
//나눗셈
public void div(int a, int b) {
System.out.println( a + " / " + b + " = " + a/b);
}
public static void main(String[] args) {
Sachick s1 = new Sachick();
// 5 3 더하기
s1.add(5, 3);
s1.sub(20, 10);
s1.mul(2, 3, 4);
s1.div(9, 3);
}
}
5 + 3 = 8
20 - 10 = 10
2 * 3*4 = 24
9 / 3 = 3
나눗셈의 결과를 main에서 찍고 싶다?
나눗셈의 결과는
public void div(int a, int b) {
System.out.println( a + " / " + b + " = " + a/b);
}
얘가 알고 있다.
-> 쟤한테 값을 전달 받아서 출력해야 한다. -> return 사용
public void div(int a, int b) {
System.out.println( a + " / " + b + " = " + a/b);
return a/b;
}
그러나 에러가 남 -> void의 의미 : return값이 없다는 의미인데 return을 넣어주었으니 에러
return값에 들어가는 유형이 무엇인가? int형 -> void 대신 int를 적어준다.
public int div(int a, int b) {
System.out.println( a + " / " + b + " = " + a/b);
return a/b;
}
에러가 나지 않는다.
public static void main(String[] args) {
Sachick s1 = new Sachick();
// s1.div(9, 3);
System.out.println("나눗셈 결과 : " + s1.div(100, 20));
int result = s1.div(100, 20);
System.out.println(result);
}
나눗셈 결과 : 5
5
public static void main(String[] args)
main은 return값은 없고(void) 문자형의 배열(String[])을 가진다.
다시 Bank에서
public void outMoney(int money) {
if(this.money<money) {
System.out.println("잔액부족");
return;
}
}
return을 썼는데 void인데도 결과 나온다 -> 이 때는 이 범위를 벗어나라는 뜻으로 쓰였다.
그래서 제대로 결과가 나온다.
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액 -> 전역변수, 멤버 변수
//입금하다
public void inputMoney(int money) { // 입금할 수 있게 int don이라는 매개 변수 만들어줌 -> 지역변수임
this.money += money; //5번 money = 6번 money
}
//출금하다 잔액 부족
public void outMoney(int money) {
// if(this.money >= money) { //5번 money >= 9번 money
// this.money -= money;
// } else {
// System.out.println("잔액이 부족합니다.");
// }
if(this.money<money) {
System.out.println("잔액부족");
return;
}
}
//잔액확인
public void getMoney() {
System.out.println(name + "님 잔액 : " + money);
}
public static void main(String[] args) {
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
b1.getMoney();
//출금하다
b1.outMoney(7000);
b1.getMoney();
//이순신 고객이 만원을 입금
Bank b2 = new Bank();
b2.name ="이순신";
b2.inputMoney(10000);
b2.getMoney();
}
}
홍길동님 잔액 : 5000
잔액부족
홍길동님 잔액 : 5000
이순신님 잔액 : 10000
Gugudan.java
package com.day03;
public class Gugudan {
int dan;
public void print() {
for(int i = 1; i < 10; i++) {
System.out.println(dan + "*" + i + "=" + dan*i);
}
}
public static void main(String[] args) {
Gugudan g1 = new Gugudan();
g1.dan=5;
g1.print();
}
}
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45
package com.day03;
public class Gugudan {
int dan;
public void print() {
for(int i = 1; i < 10; i++) {
System.out.println(dan + "*" + i + "=" + dan*i);
}
}
public static void main(String[] args) {
Gugudan g1 = new Gugudan();
g1.dan=5;
g1.print();
Gugudan g2 = new Gugudan();
g2.dan=6;
g2.print();
}
}
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45
6*1=6
6*2=12
6*3=18
6*4=24
6*5=30
6*6=36
6*7=42
6*8=48
6*9=54
새로운 객체를 생성하는 생성자
생성자는 클래스 이름이며 void가 없다 -> 멤버변수 초기값 설정
void를 쓰면 그냥 함수가 되어버린다.
public
Gugudan g1 = new Gugudan();
클래스 객체
생성자를 이용해서 결과 출력하기
package com.day03;
public class Gugudan {
int dan;
public Gugudan(int dan) { //생성자
this.dan=dan;
}
public void print() {
for(int i = 1; i < 10; i++) {
System.out.println(dan + "*" + i + "=" + dan*i);
}
}
public static void main(String[] args) {
Gugudan g1 = new Gugudan(5); //생성자 : 클래스 이름이어야 함
//g1.dan=5;
g1.print();
Gugudan g2 = new Gugudan(6);
//g2.dan=6;
g2.print();
}
}
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45
6*1=6
6*2=12
6*3=18
6*4=24
6*5=30
6*6=36
6*7=42
6*8=48
6*9=54
다시 Bank로 가서.
생성자는 보통 가장 먼저 적어준다.
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액 -> 전역변수, 멤버 변수
public Bank() { //생성자 만듦
System.out.println("생성자");
}
//입금하다
public void inputMoney(int money) { // 입금할 수 있게 int don이라는 매개 변수 만들어줌 -> 지역변수임
this.money += money; //5번 money = 6번 money
}
//출금하다 잔액 부족
public void outMoney(int money) {
// if(this.money >= money) { //5번 money >= 9번 money
// this.money -= money;
// } else {
// System.out.println("잔액이 부족합니다.");
// }
if(this.money<money) {
System.out.println("잔액부족");
return;
}
}
//잔액확인
public void getMoney() {
System.out.println(name + "님 잔액 : " + money);
}
public static void main(String[] args) {
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
b1.getMoney();
//출금하다
b1.outMoney(7000);
b1.getMoney();
//이순신 고객이 만원을 입금
Bank b2 = new Bank();
b2.name ="이순신";
b2.inputMoney(10000);
b2.getMoney();
}
}
생성자
홍길동님 잔액 : 5000
잔액부족
홍길동님 잔액 : 5000
생성자
이순신님 잔액 : 10000
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
b1.getMoney();
//출금하다
b1.outMoney(7000);
b1.getMoney();
//이순신 고객이 만원을 입금
Bank b2 = new Bank();
b2.name ="이순신";
b2.inputMoney(10000);
b2.getMoney();
new 는 생성자를 부른다.
package com.day03;
public class Bank {
String name; //계좌 이름
int money; //계좌 잔액 -> 전역변수, 멤버 변수
public Bank() { //생성자 만듦 -> () 사이에 인자가 없다 : 디폴트 생성자 = 기본 생성자, 생략 가능
System.out.println("생성자");
}
//입금하다
public void inputMoney(int money) { // 입금할 수 있게 int don이라는 매개 변수 만들어줌 -> 지역변수임
this.money += money; //5번 money = 6번 money
}
//출금하다 잔액 부족
public void outMoney(int money) {
// if(this.money >= money) { //5번 money >= 9번 money
// this.money -= money;
// } else {
// System.out.println("잔액이 부족합니다.");
// }
if(this.money<money) {
System.out.println("잔액부족");
return;
}
}
//잔액확인
public void getMoney() {
System.out.println(name + "님 잔액 : " + money);
}
public static void main(String[] args) {
Bank b1 = new Bank();
b1.name = "홍길동";//홍길동이라는 사람이 은행 업무를 볼 것
//입금하다
b1.inputMoney(5000); //5000원을 입금한다
b1.getMoney();
//출금하다
b1.outMoney(7000);
b1.getMoney();
//이순신 고객이 만원을 입금
Bank b2 = new Bank();
b2.name ="이순신";
b2.inputMoney(10000);
b2.getMoney();
}
}
() 사이에 인자가 없다 : 디폴트 생성자 = 기본 생성자, 생략 가능
Gugudan g3 = new Gugudan();
g3.dan=8;
g3.print();
에러가 난다.
디폴트 생성자 -> 생략 가능 -> 생략 : 아~ 디폴트 생성자가 사용하는가보다~ 라고 생각하는데 이미 앞에서
Gugudan g1 = new Gugudan(5); //생성자 : 클래스 이름이어야 함
//g1.dan=5;
g1.print();
Gugudan g2 = new Gugudan(6);
//g2.dan=6;
g2.print();
Gugudan g3 = new Gugudan();
g3.dan=8;
g3.print();
이렇게 이미 지정된 애들이 있어서 디폴트 생성자를 생략할 수 없다.
public Gugudan() {
}
아무것도 적지 않더라도 적어줘야 오류가 나지 않는다.
package com.day03;
public class Gugudan {
int dan;
public Gugudan() {
}
public Gugudan(int dan) { //생성자
this.dan=dan;
}
public void print() {
for(int i = 1; i < 10; i++) {
System.out.println(dan + "*" + i + "=" + dan*i);
}
}
public static void main(String[] args) {
Gugudan g1 = new Gugudan(5); //생성자 : 클래스 이름이어야 함
//g1.dan=5;
g1.print();
Gugudan g2 = new Gugudan(6);
//g2.dan=6;
g2.print();
Gugudan g3 = new Gugudan();
g3.dan=8;
g3.print();
}
}
package com.day03;
public class Gugudan {
int dan;
public Gugudan() { // 같은 이름의 생성자 2개 -> 생성자 오버로딩 | 디폴트 생성자
}
public Gugudan(int dan) { //생성자
this.dan=dan;
}
public void print() {
for(int i = 1; i < 10; i++) {
System.out.println(dan + "*" + i + "=" + dan*i);
}
}
public static void main(String[] args) {
Gugudan g1 = new Gugudan(5); //생성자 : 클래스 이름이어야 함
//g1.dan=5;
g1.print();
Gugudan g2 = new Gugudan(6); //생성자가 2개인데 인자가 있으므로 자동으로 11번으로 감
//g2.dan=6;
g2.print();
Gugudan g3 = new Gugudan(); // 생성자 2개인데 얘는 인자가 없으므로 자동으로 7번으로 감
g3.dan=8;
g3.print();
}
}
메서드도 오버로딩 가능 -> 메서드도 같은 이름으로 오버로딩 하고 다르게 접근할 수 있다.
현재까지는 배열에 int만 넣었음
다음 시간 : 객체 추가 설명, 배열 객체
ex) 은행원 입장에서 고객이 여러 명 -> a고객의 계좌에 입금 -> 많은 계좌 중 어떤 계좌?
선생님 입장에서 학생은 학번, 이름, 전화번호, 각 과목 성적 등 다 가지고있음 -> 학생의 성정 -> 어느 학생의 어떤 성적?
~p.130
'프로그래밍 > 자바(java) 융합개발자 2차' 카테고리의 다른 글
[자바 5일차] 24일 - ArrayList (0) | 2021.01.18 |
---|---|
[자바 4일차] 23일차 - 클래스 (0) | 2021.01.15 |
[자바 3일차] 22일차 - 배열, 난수 (0) | 2021.01.14 |
[자바 2일차] 21일차 - 반복문(for, while, do ~ while) (0) | 2021.01.13 |
[자바 1일차] 20일차 일지 - Eclipse에서 Hello 출력, 변수, if문 (0) | 2021.01.12 |