객체를 만드는이유
1. 데이터를 묶을려고
2. 클래스 사용 (필드와 메소드 사용)
메소드의 종류
일반 메소드
public 타입 메소드명() {
//body == 기능
}
추상 메소드 : {} 즉 body 가 없다. 기능이 없다.
public 타입 메소드명(); //
사용자가 알아서 기능을 추가시켜 사용하라는 뜻
클래스의 종류
일반클래스 : 사용자가 만든 클래스
public class 클래스명{}
추상클래스 : 추상메소드가 1개이상 존재
인터페이스 : 추상메소드로만 구성
클래스가 클래스를 상속 -> extends
클래스가 인터페이스를 상속 -> implements
인터페이스를 상속받으면 반드시 재정의가 필요하다.
오버라이딩
package day12_MenuTest;
public class DTO {
String name;
int age;
String phone;
public DTO() {}
public DTO(String name, int age, String phone) {
super();
this.name = name;
this.age = age;
this.phone = phone;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
package day12_MenuTest;
import java.util.Scanner;
public class Input {
public String munja(String str,Scanner sc) {
System.out.println(str+"를 입력");
return sc.next();
}
public int number(String str,Scanner sc) {
System.out.println(str+"를 입력");
return sc.nextInt();
}
}
package day12_MenuTest;
import java.util.ArrayList;
import java.util.Scanner;
public class DAO { //터미널
ArrayList<DTO> list = new ArrayList<DTO>();
Input in = new Input();
Scanner sc = new Scanner(System.in);
public void insert(Scanner sc) { //자료입력기능
DTO dto = new DTO();
dto.setName(in.munja("이름",sc));
dto.setAge(in.number("나이", sc));
dto.setPhone(in.munja("전화번호", sc));
list.add(dto);
}
public void out() { //자료출력기능
System.out.println("현재 객체의 수는 "+list.size()+"개");
System.out.println("이름\t나이\t전화번호");
System.out.println("====================");
for(DTO a:list) {
System.out.println(a.getName()+"\t"+a.getAge()+"\t"+a.getPhone());
}
}
public void delete(Scanner sc) { //자료삭제기능
int po=-1;
System.out.print("삭제할 이름을 입력하세요");
String dname=sc.next();
for(int i=0;i<list.size();i++) {
if(list.get(i).getName().equals(dname)) {
po=i;//삭제할 이름위치
break;
}
}
if(po==-1) {
System.out.println(dname+"은 없는 이름입니다");
}
else //삭제할 이름을 찾았다
{
System.out.println("이름 : "+list.get(po).getName());
System.out.println("나이 : "+list.get(po).getAge());
System.out.println("전화 : "+list.get(po).getPhone());
System.out.println("위의 자료를 삭제할까요?");
String qq = sc.next();
if(qq.equals("Y") || qq.equals("y") || qq.equals("ㅛ")) {
list.remove(po);
System.out.println("삭제했습니다");
}
else {
System.out.println("삭제보류");
}
}
}
public void search(Scanner sc) { //자료찾기기능
int po=-1;
System.out.print("검색할 이름을 입력하세요");
String sname=sc.next();
for(int i=0;i<list.size();i++) {
if(list.get(i).getName().equals(sname)) {
po=i; //검색할 이름이 존재위치 po
break;
}
}
if(po==-1) {
System.out.println(sname+"은 없는 이름입니다");
}
else
{
System.out.println(sname+"은 "+(po+1)+"번째 위치");
System.out.println("이름 : "+list.get(po).getName());
System.out.println("나이 : "+list.get(po).getAge());
System.out.println("전화 : "+list.get(po).getPhone());
System.out.println("검색 결과입니다.");
}
}
}
package day12_MenuTest;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
DAO dao = new DAO();
while(true) {
System.out.println("1번:자료입력");
System.out.println("2번:자료출력");
System.out.println("3번:자료삭제");
System.out.println("4번:자료검색");
System.out.println("0번:종료");
System.out.println("작업 번호를 입력");
int n = sc.nextInt();
switch (n) {
case 1:dao.insert(sc);break;
case 2:dao.out();break;
case 3:dao.delete(sc);break;
case 4:dao.search(sc);break;
case 0:System.exit(0);;break;
}
}
}
}
package day12_Interface;
public interface Soldier {
public void army1();
public void navy1();
public void airforce1();
public void dolphin1();
}
package day12_Interface;
public class Soldier_Class implements Soldier{
@Override
public void army1() {
System.out.println("우리는 대한민국 육군이다");
}
@Override
public void navy1() {
System.out.println("우리는 대한민국 해군이다");
}
@Override
public void airforce1() {
System.out.println("우리는 대한민국 공군이다");
}
@Override
public void dolphin1() {
System.out.println("우리는 대한민국 해병대이다");
}
}
package day12_Interface;
public class Main_Soldier {
public static void main(String[] args) {
Soldier_Class kr = new Soldier_Class();
kr.army1();
kr.navy1();
kr.airforce1();
kr.dolphin1();
}
}
package day12_MenuTest;
import java.text.DecimalFormat;
public class SampleTest {
public static void main(String[] args) {
//두수 입력받아 합을 구하는
String str="홍길동099088078";//이름,국어,영어,수학
String name = str.substring(0, 3);
int kor = Integer.parseInt(str.substring(3, 6));
int eng = Integer.parseInt(str.substring(6, 9));
int math = Integer.parseInt(str.substring(9, 12));
int tot = kor+eng+math;
double avg=(double)tot/3;
DecimalFormat df = new DecimalFormat("#,##0.00");
System.out.println("이름 :"+name);
System.out.println("국어 :"+kor);
System.out.println("영어 :"+eng);
System.out.println("수학 :"+math);
System.out.println("총합 :"+tot);
System.out.println("평균 :"+df.format(avg));
}
}
'JAVA' 카테고리의 다른 글
221222_상속 (0) | 2022.12.22 |
---|---|
221221_Interface,상속 (0) | 2022.12.21 |
221219_Class (0) | 2022.12.19 |
221216_Class (0) | 2022.12.16 |
221215_Class (0) | 2022.12.15 |
댓글