21.06.15 - 생활코딩 JAVA 공부

·2021년 6월 28일
0

생활코딩JAVA

목록 보기
10/12

1. method - 활용

public class AccountingApp {
	
	//공급가액
	public static double valueOfSupply = 10000.0;
	
	//부가가치세율
	public static double vatRate = 0.1;
	
	
	public static double getVAT() {
	return valueOfSupply * vatRate;
}
	
	public static double getTotal() {
		return valueOfSupply + getVAT();
	}
	
	public static void main(String[] args) {

		
		//부가세
		//double vat = valueOfSupply * vatRate;
		double vat = getVAT();
		
		//합계
		//double total = valueOfSupply + vat;
		double total = getTotal();
		
		
		System.out.println("Value of supply : " + valueOfSupply);
		System.out.println("VAT : " + vat);
		System.out.println("Total : " + total);

	}

}

getVAT() 까지는 이고잉님하는거 따라하다가 getTotal() 메소드화는 안 보고 내가 혼자 해봤다! 재밌다.


2. 객체 지향 프로그래밍 - 남의 클래스 & 남의 인스턴스

import java.io.FileWriter;
import java.io.IOException;

public class OthersOOP {

	public static void main(String[] args) throws IOException {
		
		// class : System, Math, FileWriter
		// instance : f1, f2
		
		System.out.println(Math.PI);
		System.out.println(Math.floor(1.8));
		System.out.println(Math.ceil(1.8));
		
		FileWriter f1 = new FileWriter("data.txt");
		f1.write("Hello");
		f1.write(" JAVA");
		f1.close();

		FileWriter f2 = new FileWriter("data2.txt");
		f2.write("Hello");
		f2.write(" JAVA2");
		f2.close();
	}

}

클래스와 인스턴스의 구별... 정말 헷갈리는구나?^^ 내가 직접 말로 설명은 못해도 그래도 대충 틀 정도는 알 것 같다. 더 열심히 공부하자...


3. 객체 지향 프로그래밍 - 변수와 메소드

public class MyOOP {
	public static void main(String[] args) {
		
		delimiter = "----";
		printA();
		printA();	
		printB();
		printB();	
		
		delimiter = "****";
		printA();
		printA();	
		printB();
		printB();	
	}

	public static String delimiter = "----";
	
	
	public static void printA() {
		System.out.println(delimiter);
		System.out.println("A");
		System.out.println("A");
	}
	
	public static void printB() {
		System.out.println(delimiter);
		System.out.println("B");
		System.out.println("B");
	}

}

신기하고 재밌는데 이해하려고 하면 할수록 너무 어렵다 😂 


4. 객체 지향 프로그래밍 - 클래스(1)

class Print{ 										// class Print 생성
	public static String delimiter = "----";
	public static void A() {						// print 삭제
		System.out.println(delimiter);
		System.out.println("A");
		System.out.println("A");
	}
	
	public static void B() {					 	// // print 삭제
		System.out.println(delimiter);
		System.out.println("B");
		System.out.println("B");
	}
}
public class MyOOP {
	public static void main(String[] args) {
		
		
		//Print. 으로 수정
		Print.delimiter = "----";
		Print.A();
		Print.A();	
		Print.B();
		Print.B();	
		
		Print.delimiter = "****";
		Print.A();
		Print.A();	
		Print.B();
		Print.B();	
	}



}

5. 객체 지향 프로그래밍 - 클래스(2)

class Print{ 										
	public static String delimiter = "----";
	public static void A() {						
		System.out.println(delimiter);
		System.out.println("A");
		System.out.println("A");
	}
	
	public static void B() {					 	
		System.out.println(delimiter);
		System.out.println("B");
		System.out.println("B");
	}
}
public class MyOOP {
	public static void main(String[] args) {
		
		
		Print.delimiter = "----";
		Print.A();
		Print.A();	
		Print.B();
		Print.B();	
		
		Print.delimiter = "****";
		Print.A();
		Print.A();	
		Print.B();
		Print.B();	
	}
}

Print 클래스 따로 파일 만들지 않아도 자동 생성해주는 기능

드래그 > 우측 마우스 클릭 > Refactor > Move Type to New File > OK

6. 객체 지향 프로그래밍 - 인스턴스

public class MyOOP {
	public static void main(String[] args) {
		Print p1 = new Print();
		p1.delimiter = "****";
		p1.A();
		p1.A();
		p1.B();
		p1.B();
		
		Print p2 = new Print();
		p2.delimiter = "----";
		p2.A();
		p2.A();	
		p2.B();
		p2.B();	
		
		p1.A();
		p2.A();	
		p1.B();
		p2.B();	
		
	}
}

MyOOP 안에 Print 클래스를 인스턴스화하기.

p1, p2 인스턴스 생성해서 효율적인 코딩.

  •  인스턴스는 클래스의 복제본이라고 비유할 수 있다.
  •  클래스를 인스턴스화하려면 그 클래스의 멤버(변수, 메소드)에 있는 static을 제거해야한다.
  •  수정이 필요 시 인스턴스에서 간편하게 수정할 수 있다.

class Print{ 										
	public String delimiter = "----";
	public void A() {						
		System.out.println(delimiter);
		System.out.println("A");
		System.out.println("A");
	}
	
	public void B() {					 	
		System.out.println(delimiter);
		System.out.println("B");
		System.out.println("B");
	}
}

Print.java 안에 static 제거하기.

0개의 댓글