21.06.17 - 생활코딩 JAVA 공부

·2021년 6월 28일
0

생활코딩JAVA

목록 보기
11/12

1. 객체 지향 프로그래밍 - static


class Foo{
	public static String classVar = "I class var";   // static이 붙어있는 클래스 소속 변수
	public String instanceVar = "I instance var";	 // static이 없는 인스턴스 소속 변수
	
	public static void classMethod() {
		System.out.println(classVar);    //OK   클래스스메소드 안에서는 클래스만 접근 가능
	//	System.out.println(instanceVar); //Error
	}
	
	public void instanceMethod() {
		System.out.println(classVar);    //OK   인스턴스메소드 안에서는 클래스, 인스턴스 모두 접근 가능
		System.out.println(instanceVar); //OK
	}
}
public class StaticApp {

	public static void main(String[] args) {
		System.out.println(Foo.classVar); 			//OK   클래스를 통해서 클래스 변수는 접근 가능
	//	System.out.println(Foo.instanceVar); 		//Error  클래스를 통해서 인스턴스 변수는 에러!
		Foo.classMethod();
	//	Foo.instaceMethod();
		
		Foo f1 = new Foo();
		Foo f2 = new Foo();
//	      
	        System.out.println(f1.classVar); // I class var
	        System.out.println(f1.instanceVar); // I instance var
//      
	        f1.classVar = "changed by f1";
	        System.out.println(Foo.classVar); // changed by f1
	        System.out.println(f2.classVar);  // changed by f1
//      
	        f1.instanceVar = "changed by f1";
	        System.out.println(f1.instanceVar); // changed by f1
	        System.out.println(f2.instanceVar); // I instance var
//		
	}

}

2. 객체 지향 프로그래밍 - 생성자와 this

class Print{ 										
	public String delimiter = "";
	public Print(String delimiter) {
		this.delimiter = 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 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();	
//		
	}
}

생성자와 this 2회 반복했지만... 전혀 1도 알아듣지 못했다... 속상해 :( 내일 다시 봐야겠다...

0개의 댓글