본문 바로가기
JAVA

221214_Method,Class

by 경 훈 2022. 12. 14.

메소드 : 일종의 하인(slave) - 스스로의 실행 못함 불러져야 실행 -> 이름( )

메소드이름(인수) --> 전달되는 값

메소드이름(매개변수..파라미터) -> 전달되는 값을 받는 변수

* 인수와 매개변수는 자료형 타입과 개수가 반드시 동일

 

클래스 : 자바에서 실행되는 기본단위

구성 :  필드(변수) + 메소드(함수)

메인 메소드가 없고 일반 메소드만 존재

 

필드에는 값을 넣어야 될 것

out이라는 메소드 실행

 

필드나 메소드 앞에 접근제한자가 붙는다

private 개인적

public 공공

클래스에서 필드에 값을 넣는 방법

1. 직접 대입 private 이면 사용불가

2. setter 와 getter 라는 메소드 이용

3. 생성자 이용

 

package day8_Method2;

public class Method_Test2 {

	public static void main(String[] args) {
		boolean a= 9>15;
		String munja = bigo(a);
		System.out.println("결과 : "+munja);
	}
	private static String bigo(boolean a) {
		String munja=null;
		if(a)
		{
			munja="9>15 의 식은 맞는식이다";
		}
		else
		{
			munja="9>15 의 식은 틀린식이다";
		}
		return munja;
	}
}

 

package day8_Method2;

public class Method_Test2 {

	public static void main(String[] args) {
		//문자열의 입력받아 길이를 구해서..길이가 10보다 작으면 true 10자 이상이면 false
		//10보다 작으면 "짧은 문자열" 10이상 "장문이다"
		String a;
		a="우리나라우리나라우리";
		int len = a.length();
		boolean boo = len<10;
		String bigo = check(boo);
		System.out.println(a+" 문장은 "+len+"글자이고 "+bigo);
	}
	private static String check(boolean boo) {
		String bigo;
		if(boo)
		{
			bigo="짧은 문장";
		}
		else
		{
			bigo="긴 문장";
		}
		return bigo;
	}
}

 

package day8_Method2;

public class Method_Test2 {

	public static void main(String[] args) {
		//논리값을 전달하여 true -> 남자  false -> 여자
		Boolean a =true;
		String bigo = sample(a);
		System.out.println("성별 : "+bigo);
	}
	private static String sample(Boolean a) {
		String bigo;
		if(a)
		{
			bigo="남자";
		}
		else
		{
			bigo="여자";
		}
		return bigo;
	}
}

 

package day8_Method2;

public class Method_Test2 {

	public static void main(String[] args) {
		//논리값을 전달하여 true -> 남자  false -> 여자
		Boolean a;
		int n=1; //1이면 남자...2 여자
		if(n==1)
		{
			a=true;
		}
		else
		{
			a=false;
		}
		String bigo = sample(a);
		System.out.println("성별 : "+bigo);
	}
	private static String sample(Boolean a) {
		String bigo;
		if(a)
		{
			bigo="남자";
		}
		else
		{
			bigo="여자";
		}
		return bigo;
	}
}

 

package day8_Method2;

import java.text.DecimalFormat;
import java.util.Scanner;

public class Method_Test2 {

	public static void main(String[] args) {
		//이름,국어,영어,수학 입력받아 총점,평균,학점
		Scanner sc = new Scanner(System.in);
		String name = name(sc);
		int kor = kor(sc);
		int eng = eng(sc);
		int math = math(sc);		
		int tot = tot(kor,eng,math);
		double avg = avg(tot);
		String hak = hak(avg);
		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));
		System.out.println("학점 : "+hak);
	}
	private static String name(Scanner sc) {	
		System.out.println("이름은?");
		String name;
		name=sc.nextLine();
		return name;
	}
	private static int kor(Scanner sc) {
		System.out.println("국어 점수는?");
		int kor;
		kor=sc.nextInt();
		return kor;
	}
	private static int eng(Scanner sc) {
		System.out.println("영어 점수는?");
		int eng;
		eng=sc.nextInt();
		return eng;		
	}
	private static int math(Scanner sc) {
		System.out.println("수학 점수는?");
		int math;
		math=sc.nextInt();
		return math;		
	}
	private static int tot(int kor, int eng, int math) {
		int tot = kor+eng+math;
		return tot;
	}
	private static double avg(int tot) {
		double avg = (double)tot/3;
		return avg;
	}
	private static String hak(double avg) {
		String hak;
		switch ((int)avg/10) {
		case 10:
		case 9:hak="A";break;
		case 8:hak="B";break;
		case 7:hak="C";break;
		case 6:hak="D";break;
		default:hak="F";break;
		}
		return hak;
	}
}

 

package day8_Method2;

import java.text.DecimalFormat;
import java.util.Scanner;

public class Method_Test2 {

	public static void main(String[] args) {
		//상품명,수량,단가를 입력하여 금액을 구하는 메소드
		Scanner sc = new Scanner(System.in);
		String name = name(sc);
		int count = count(sc);
		int cost = cost(sc);
		int money = money(count,cost);
		DecimalFormat df = new DecimalFormat("#,##0");
		System.out.println("상품명 : "+name);
		System.out.println("수량 : "+df.format(count)+"개");
		System.out.println("단가 : "+df.format(cost)+"원");
		System.out.println("금액 : "+df.format(money)+"원");
	}
	private static String name(Scanner sc) {
		String name;
		System.out.println("상품명을 입력");
		name=sc.nextLine();
		return name;
	}
	private static int count(Scanner sc) {
		int count;
		System.out.println("수량을 입력");
		count=sc.nextInt();
		return count;
	}
	private static int cost(Scanner sc) {
		int cost;
		System.out.println("단가를 입력");
		cost=sc.nextInt();
		return cost;
	}
	private static int money(int count, int cost) {
		int money;
		money = count*cost;
		return money;
	}
}

 

package day8_Method2;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;

public class Method_Test2 {
	public static void main(String[] args) {
		// 주민번호를 입력해서 나이와 성별 구하는 메소드 생성
		Scanner sc = new Scanner(System.in);
		System.out.print("주민번호를 입력 ");
		String jumin;
		jumin = sc.nextLine();
		int age = age(jumin); // 나이구하는 메소드
		String male = male(jumin); // 성별구하는 메소드
		System.out.println("나이 : "+age);
		System.out.println("성별 : "+male);
	}
	private static int age(String jumin) {
		int birth,birthyear,nowyear,age;
		char check;
		check = jumin.charAt(7);
		birth = Integer.parseInt(jumin.substring(0,2));
		if(check=='1' || check=='2')
		{
			birthyear = birth+1900;
		}
		else
		{
			birthyear = birth+2000;
		}
		GregorianCalendar gc = new GregorianCalendar();
		nowyear = gc.get(Calendar.YEAR);
		age = nowyear-birthyear;
		return age;
	}
	private static String male(String jumin) {
		char check;
		String male;
		check = jumin.charAt(7);
		if(check=='1' || check=='3')
		{
			male="남자";
		}
		else
		{
			male="여자";
		}
		return male;
	}
}

 

package day8_Class;

public class Sample {
	String name;//이름
	int age;//나이
	public void out() {//출력기능
		System.out.println("이름 : "+name);
		System.out.println("나이 : "+age);
		
	}
}

 

package day8_Class;

public class Sample2 {
	//아이디와 패스워드
	String id,pw;
	public void out() {
		System.out.println("아이디 : "+id);
		System.out.println("패스워드 : "+pw);
	}
}

 

package day8_Class;

public class Sample3 {
	//이름,계좌번호,입금액
	private String name;
	private String acc;
	int money;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getAcc() {
		return acc;
	}

	public void setAcc(String acc) {
		this.acc = acc;
	}

	public int getMoney() {
		return money;
	}

	public void setMoney(int money) {
		this.money = money;
	}

	public void out()
	{
		System.out.println("이름 : "+name);
		System.out.println("계좌번호 : "+acc);
		System.out.println("입금액 : "+money+"원");
	}
}

 

package day8_Class;

public class Sample4 {
	//두수를 입력받아 합을 구하는 클래스
	int a;
	int b;
	///
	public int getA() {
		return a;
	}
	public void setA(int a) {
		this.a = a;
	}

	public int getB() {
		return b;
	}

	public void setB(int b) {
		this.b = b;
	}
	public void out() {
		System.out.println("합 : "+(a+b));
	}
}

 

package day8_Class;

public class Sample5 {
	//상품명,수량,단가
	String name;
	int count;
	int cost;
	int mae;
	public int getMae() {
		return mae;
	}
	public void setMae(int mae) {
		this.mae = mae;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getCount() {
		return count;
	}
	public void setCount(int count) {
		this.count = count;
	}
	public int getCost() {
		return cost;
	}
	public void setCost(int cost) {
		this.cost = cost;
	}
	public void out() {
		System.out.println("상품명 : "+name);
		System.out.println("수량 : "+count);
		System.out.println("단가 : "+cost);
		System.out.println("매출액 : "+mae);
	}

}

 

package day8_Class;

public class Main_Test {

	public static void main(String[] args) {
		//클래스로 객체를 만든다.
		//클래스명 객체명 = new 클래스명();
//		Sample s = new Sample();
//		s.name = "홍길동";
//		s.age = 24;
//		s.out();
		
//		Sample2 s2 = new Sample2();
//		s2.id = "asdf";
//		s2.pw = "123456";
//		s2.out();
		
//		Sample3 s3 = new Sample3();
//		s3.setName("홍길동");
//		s3.setAcc("010-1234-123-1");
//		s3.setMoney(100000000);
//		s3.out();
		
//		Sample4 s4 = new Sample4();
//		s4.setA(55);
//		s4.setB(26);
//		s4.out();
		
//		Sample5 s5 = new Sample5();
//		s5.setName("바나나킥");
//		s5.setCount(150);
//		s5.setCost(1500);
//		s5.setMae(s5.getCount()*s5.getCost());
//		s5.out(); 
	}
}

 

package day8_Class;

import java.text.DecimalFormat;

public class Score {
	//이름,국어,영어,수학 - > 총점,평균,학점 구하는 클래스
	//평균이 85이상이면 합격 아님 불합격
	String name;
	int kor;
	int eng;
	int math;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getKor() {
		return kor;
	}
	public void setKor(int kor) {
		this.kor = kor;
	}
	public int getEng() {
		return eng;
	}
	public void setEng(int eng) {
		this.eng = eng;
	}
	public int getMath() {
		return math;
	}
	public void setMath(int math) {
		this.math = math;
	}
	public void out() {
		int tot = tot(kor,eng,math);
		double avg = avg(tot);
		DecimalFormat df = new DecimalFormat("#,##0.00");
		String grade = grade(avg);
		String result = result(avg);
		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));
		System.out.println("학점 : "+grade);
		System.out.println("결과 : "+result);
	}
	private int tot(int kor2, int eng2, int math2) {
		return kor2+eng2+math2;
	}
	private double avg(int tot) {
		return (double)tot/3;
	}
	private String grade(double avg) {
		String grade;
		switch ((int)avg/10) {
		case 10:
		case 9:grade="A";break;
		case 8:grade="B";break;
		case 7:grade="C";break;
		case 6:grade="D";break;
		default:grade="F";break;
		}
		return grade;
	}
	private String result(double avg) {
		String result;
		if(avg>=85)
		{
			result="합격";
		}
		else
		{
			result="불합격";
		}
		return result;
	}
}

 

package day8_Class;

public class Main_Test {

	public static void main(String[] args) {
		//클래스로 객체를 만든다.
		//클래스명 객체명 = new 클래스명();
		Score sco = new Score();
		sco.setName("홍길동");
		sco.setKor(80);
		sco.setEng(86);
		sco.setMath(99);
		sco.out();
	}
}

'JAVA' 카테고리의 다른 글

221216_Class  (0) 2022.12.16
221215_Class  (0) 2022.12.15
221213_Method  (0) 2022.12.13
221212_배열  (0) 2022.12.12
221209_For문  (0) 2022.12.09

댓글