본문 바로가기
빅데이터 부트캠프/Java

빅데이터 부트캠프 36일차

by Mecodata 2022. 8. 24.

Java의 파일 단위

- WorkSpace - Project - Class - Library 

- Package = Class들의 묶음

 

다형성

- 같은 이름의 메소드가 클래스나 객체에 따라 다르게 동작

- 메소드 오버라이딩 = 상위 클래스의 메소드를 하위 클래스마다 다르게 구현
- 메소드 오버로딩 = 같은 이름이지만 다르게 작동하는 여러 메소드

 

생성자 함수

- Java는 파이썬의 __init__과는 다르게 생성자 함수명을 클래스명과 같도록 설정해야 함 

- 생성자 함수는 return 데이터 타입 설정 X

- this = 파이썬 __init__의 self와 같은 역할

※ 비교 연산자 사용시 String 타입 데이터는 ==이 아니라 반드시 .equals()로 비교해야 함

// 고객의 이름과 나이, 통장 잔액을 입력 받은 다음 인출,입굼 후 잔액확인이 가능하게 설정

import java.util.Scanner;

class Order
{
	int a;
	
	public Order() {}
	
	public int Deposit(int num1) 
	{
		a += num1;
		return a;
	}
	
	public int Withdraw(int num2) 
	{
		a -= num2;
		return a;
	}
}

public class Account
{
	public static void main(String[] args) 
	{
		System.out.println("이름, 나이, 잔액을 입력하시오");
		Scanner scanner = new Scanner(System.in);
		String name = scanner.next();
		int age = scanner.nextInt();
		int balance = scanner.nextInt();
		System.out.println("이름 : " + name + " 나이 : " + age + " 잔액 : " + balance + "원" );	
		
		System.out.println("입금과 출금 중 하나를 입력하시오");
		String choose = scanner.next();
		if(choose.equals("입금"))
		{
			System.out.println("입금하실 금액을 입력하시오");
			int plus = scanner.nextInt();
			Order A = new Order();
			A.a = balance;
		    int result = A.Deposit(plus);
			System.out.println("잔액 : " + result + "원");
		}
		
		else if(choose.equals("출금"))
		{
			System.out.println("출금하실 금액을 입력하시오");
			int minus = scanner.nextInt();
			Order A = new Order();
			A.a = balance;
		    int result = A.Withdraw(minus);
		    if(balance<0)
		    	System.out.println("잔액이 부족합니다.");
		    else
		    	System.out.println("잔액 : " +  result + "원");
		}
        scanner.close();
	}
}

String 클래스 메소드

- .concat() = 해당 문자열을 특정 문자열과 연결 

- .length() = 문자열의 길이 출력

- .contain() = 해당 문자열에서 특정 문자 포함 했는지 출력 (true/false)

- .trim() = 해당 문자열의 앞 뒤의 공백 제거

- .replace()  = 해당 문자열에서 지정한 문자 대체

ex) .replace(a,b) -> a를 b로 대체

- .charAt() = 해당 문자열에서 지정 인덱스 순서의 문자 출력

 

StringBuffer 클래스 메소드

- String 클래스와 다르게 문자열 변경 가능

- .append() = 해당 문자열 뒤에 문자열 덧붙이기

- .insert() = 해당 인덱스 순서에 문자열 삽입

- .replace() = 해당 인덱스 순서만큼의 문자열을 지정한 문자열로 대체

ex) StringBuffer sb = new StringBuffer("java");

sb.replace(8,10,"m") = 인덱스 8~10번째 문자 m으로 대체

- .delete() = 해당 인덱스 순서만큼 문자열 삭제

- .setLength() = 해당 인덱스 순서만큼의 문자열 출력

 

Swing 프레임(JFrame)

- 모든 스윙 컴포넌트를 담는 최상위 GUI 컨테이너

- 컨텐트팬(getContentPane)을 이용하여 세부 설정 가능

 

댓글