new 는 클래스를 복제하여 그것을 제어하는 것이다

 

Class 란 Method 와 Variable 을 그룹핑 하여 껍데기를 씌운 것이고 Instance 는 Class 에게 new를 붙혀서 Class 의 기능의 복제본을 만드는 것이다.

 

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");
		
		FileWriter f2 = new FileWriter("data2.txt");
		f2.write("Hello");
		f2.write(" Java");
		f2.close();
		
		f1.write("!!!");
		f1.close();
	}

}

 

변수와 메소드

 

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");
	}
}

 

클래스

 

Class는 연관된 Method와 Variable을 묶어 하나의 이름을 갖는 객체로 만든다.
Method와 Variable 앞에 Class 이름을 붙여 이름만으로도 내용을 알수 있게 가독성을 향상시킨다.
Main Class와 함께 내장된 Class를 외부에 독립시켜 다른 App에서도 사용 할 수 있게 한다.

 

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를 따로 만들어 보관할 수 있다

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();
    }
}

 

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

공부(15)  (0) 2021.09.25
공부(14)  (0) 2021.09.25
공부(12)  (0) 2021.09.24
공부(11)  (0) 2021.09.24
공부(10)  (0) 2021.09.24

static - class method

non static -instance method

 

class Print{
    public String delimiter;
    public void a() {
        System.out.println(this.delimiter);
        System.out.println("a");
        System.out.println("a");
    }
    public void b() {
        System.out.println(this.delimiter);
        System.out.println("b");
        System.out.println("b");
         
    }
    public static void c(String delimiter) {
        System.out.println(delimiter);
        System.out.println("b");
        System.out.println("b");
    }
}
public class staticMethod {
     
    public static void main(String[] args) {
//      Print.a("-");
//      Print.b("-");
         
        // instance
        Print t1 = new Print();
        t1.delimiter = "-";
        t1.a();
        t1.b();
        Print.c("$");
         
         
//      Print.a("*");
//      Print.b("*");
         
        Print t2 = new Print();
        t2.delimiter = "*";
        t2.a();
        t2.b();
    }
     
 
}

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

공부(14)  (0) 2021.09.25
공부(13)  (0) 2021.09.25
공부(11)  (0) 2021.09.24
공부(10)  (0) 2021.09.24
공부(9)  (0) 2021.09.24

메소드

 

Math.floor() Math Class의 Method 인 floor를 실행

 

Method = Function 으로 생각하자

 

public class WhyMethod {

	public static void main(String[] args) {

        // 100000000
        printTwoTimesA();
        // 100000000
        printTwoTimesA();
        // 100000000		
        printTwoTimesA();	
	}

	public static void printTwoTimesA() {
		System.out.println("-");
        System.out.println("a");
        System.out.println("a");
	}

}

 

메소드의 입력 값

public class WhyMethod {
     
    public static void main(String[] args) {
         
                         //인자, argument
            printTwoTimes("a", "-");
            // 100000000
            printTwoTimes("a", "*");
            // 100000000
            printTwoTimes("a", "&");
            printTwoTimes("b", "!");
 
    }
                                     //매개변수,parameter 
    public static void printTwoTimes(String text, String delimiter) {
        System.out.println(delimiter);
        System.out.println(text);
        System.out.println(text);
    }
 
}

 

메소드의 출력

 

void 는 return 값이 없다는 뜻

 

public class OutputMethod {
	
	public static String a() {
		//...
		return "a";
	}
	
	public static int one() {
		return 1;
	}

	public static void main(String[] args) {

		System.out.println(a());
		System.out.println(one());

	}

}

 

메소드의 활용

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) {
 
        System.out.println("Value of supply : " + valueOfSupply);
        System.out.println("VAT : " + getVAT());
        System.out.println("Total : " + getTotal());
 
    }
 
}

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

공부(13)  (0) 2021.09.25
공부(12)  (0) 2021.09.24
공부(10)  (0) 2021.09.24
공부(9)  (0) 2021.09.24
공부(8)  (0) 2021.09.24

== vs equals

 

비교연산자 ==는 변수의 값을 가리키는 곳의 위치가 같은지를 물어보는 것이고

equals는 변수 내부의 내용이 같은가를 묻는 것

 

원시 데이터 타입에는 7가지 boolean, int, double, short, long, float, char

 

원시 데이터 타입이 아닌 data type에는 String, Array, Date, File 등등이 있다.

 

즉 원시데이터 타입들은 동등비교연산자 == 를 쓰면 되고

 

원시데이터 타입이 아닌 것을 쓸 때에는 .equals()를 사용하면 된다

 

반복문

public class LoopApp {

	public static void main(String[] args) {

		System.out.println(1);
		System.out.println("=== while ===");
		
		int i = 0;
		while(i<3) {
			System.out.println(2);
			System.out.println(3);
			i++;
		}
		
		System.out.println("=== for ===");
		for(int j=0;j<3;j++) {
			System.out.println(2);
			System.out.println(3);
		}
		System.out.println(4);

	}

}

종합 응용 1

public class AuthApp3 {

	public static void main(String[] args) {

		String[] users = {"A", "B", "C"};
		String inputID = args[0];
		
		boolean isLogined = false;
		for(int i=0;i<users.length;i++) {
			String currentId = users[i];
			if(currentId.equals(inputID)) {
				isLogined = true;
				break;
			}
		}
		System.out.println("Hi, ");
		if(isLogined) {
			System.out.println("Master!!");
		} else {
			System.out.println("Who are you?");
		}
	}

}

 

종합 응용2

public class AuthApp3 {

	public static void main(String[] args) {

//		String[] users = {"A", "B", "C"};
		String[][] users = {
				{"A", "1111"},
				{"B", "2222"},
				{"C", "3333"}
		};
		
		String inputID = args[0];
		String inputPass = args[1];
		
		boolean isLogined = false;
		for(int i=0;i<users.length;i++) {
			String[] current = users[i];
			if(
					current[0].equals(inputID) &&
					current[1].equals(inputPass)
			) {
				isLogined = true;
				break;
			}
		}
		System.out.println("Hi, ");
		if(isLogined) {
			System.out.println("Master!!");
		} else {
			System.out.println("Who are you?");
		}
	}

}

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

공부(12)  (0) 2021.09.24
공부(11)  (0) 2021.09.24
공부(9)  (0) 2021.09.24
공부(8)  (0) 2021.09.24
공부(7)  (0) 2021.09.23

+ Recent posts