본문 바로가기
java

[9/17] class ,생성자,메소드

by 헤르쯔44 2021. 10. 20.
728x90
반응형

 [ 사용자 정의 매소드 ]
   
   -어떠한 기능을 갖는 코드의 묶음 
   -형식 


     리턴형 매소드명(매개변수,...)
     실행문장;
     ..
     [return];
     {

 메소드의 여러 형태
 * ->매대변수나 리턴문이 있을수도 있고 없을수도 있다. 리턴문이 없으면 리턴타입을 void로 표기한다.

 

[객체지향 프로그래밍]
 * -모든 작업을 객체화해서 프로그래밍하는 기법
 * -객체지향 프로그래밍에서는 모든 작업을 클래스로 구현한다.
 * -클래스 만드는 형식
 * class 클래스명{
 *    맴버변수; 
 *    ,,,,
 *    맴버 메소드()
 *    {...}
 * 
 * }
 * 
 * -클래스를 사용하기 위해서는 객체(인스턴스)를 생성해야한다.
 * 
 * -객체생성 형식)
 *  클래스명 객체명 = new 클래스명();

 

/*
 * [ 생성자 (constructor) ]
 * -객체가 생성될때 자동으로 호출되는 메소드
 * 주로 맴버변수값을 초기화하려는 목적으로 만든다.
 *-만드는 형식
 *1.클래스명과 동일한 이름으로 메소드 이름을 만든다.
 *2.리턴값을 갖을 수 없으며 void를 적지않는다.
 *
 *예)
 *class AA{
 *public AA(){}//생성자
 *public AA(int a){}//생성자
 */

 

문제1)
   사원번호,이름,부서,본봉,수당을 입력받아 출력하는 클래스를 만들어 보세요.
   급여는 본봉+수당

[출력결과]
사원번호:10
이름:홍길동
부서:영업부
본봉:1000000
수당: 500000
급여:1500000 만원

import java.util.Scanner;
class Office{
	private int num;
	private String name;
	private String div;
	private int bon;
	private int su;
	private int moeny;
	
	public void setData(int num, String name, String div, int bon, int su){
		this.num = num;
		this.name = name;
		this.div = div;
		this.bon = bon;
		this.su = su;
		moeny = bon + su;
	}
	public void printData(){
		System.out.println("사원번호 : " + num);
		System.out.println("이름 : " + name);
		System.out.println("부서 : " + div);
		System.out.println("본봉 : " + bon);
		System.out.println("수당 : " + su);
		System.out.println("급여 : " + moeny);
	}
}
class Hw1{
	public static void main(String[] args){
		Scanner scan = new Scanner(System.in);
		System.out.print("사원번호 입력 : ");
		int num = scan.nextInt();
		System.out.print("이름 입력 : ");
		String name = scan.next();
		System.out.print("부서 입력 : ");
		String div = scan.next();
		System.out.print("본봉 입력 : ");
		int bon = scan.nextInt();
		System.out.print("수당 입력 : ");
		int su = scan.nextInt();

		Office offi = new Office();
		offi.setData(num, name, div, bon, su);
		System.out.println("-----------------------");
		offi.printData();
	}
}


문제2)
   반지름을 생성자 매개변수로 받아 원의 넓이(반지름*반지름*3.14)를 
   구하는 클래스를 만들어 보세요
   Circle cir=new Circle(4.5); //4.5는 반지름

 

class Circle{
	private double r;
	private double area;

	public Circle(double r){
		this.r = r;
	}
	public double circleArea(){
		area = r * r * 3.14;
		return area;
	}
}
class Hw2{
	public static void main(String[] args){
		Circle cir = new Circle(4.5);
		double area = cir.circleArea();
		System.out.println("원의 넓이: " + area);
	}
}

 

728x90
반응형

'java' 카테고리의 다른 글

FileReader/FileWriter  (0) 2021.10.20
HashMap/Calender  (0) 2021.10.20
회원관리 기능  (0) 2021.10.20
[JAVA-문법] 1. 출력,main메소드  (0) 2021.09.13
[JAVA-개념] 1. JAVA의 특징  (0) 2021.09.11