55일차_JAVA

서창민·2023년 5월 29일
0

JAVA

목록 보기
8/21
post-thumbnail

23.05.29 55일차

JAVA

  • StringBuilder
StringBuilder
: String을 보완한 객체 
: String과 동일한 기능

StringBuilder t1 = new StringBuilder("JAVA SE 8");
System.out.println(t1);

StringBuilder t2 = new StringBuilder("Hello JAVA SE 8"); 
System.out.println(t2); 

StringBuilder t3 = new StringBuilder(); 
t3.append("우리 ");
t3.append("나라 ");
System.out.println(t3);
		

String을 다중으로 사용할때의 기능 저하됨을 보완한 객체이다.
String과 동일하게 문자열을 사용할때 사용한다.

  • 상속
package ch7;
	class C{
		int k = 300;
	}
	
	class B extends C{
		int k = 200;
		}

public class  A extends B{	
		int k = 100;
	public static void main(String[] args) {
		C t = new A();
		System.out.print(t.k);
	}
}

클래스 B와 A에 값이 없을때

package ch7;
	class C{
		int k = 300;
	}
	
	class B extends C{

		}

public class  A extends B{	
	public static void main(String[] args) {
		C t = new A();
		System.out.print(t.k);
	}
}

필드의 값은 형의 값과 같다.
필드 값이 없을때에는 부모 필드의 값을 가져와 출력 (300)

package ch7;

class C{
	public void printTest() {
	System.out.print("C ");
	}
}

class B extends C{
	public void printTest() {
	System.out.print("B ");
	}
}

public class  A extends B{	
	public void printTest() {
	System.out.print("A ");
	}
	public static void main(String[] args) {
		C t = new A();
		t.printTest();

	}

}

메소드에 값이 없을때

package ch7;

class C{
	public void printTest() {
	System.out.print("C ");
	}
}

class B extends C{ }

public class  A extends B{	
	public static void main(String[] args) {
		C t = new A();
		t.printTest();

	}

}

메소드의 값을 구할때는 형에 상관없이 메소드의 값을 출력한다.
마찬가지로 메소드 값이 없을때는 부모 메소드의 값을 가져와 출력한다.

  • 게시판
구성 : Main - Service - DAO

service와 DAO는 같은데 왜 두번의 동작을 하는가 ?
예시)
커피집 아메리카노 주문 - >
사람 : 아메리카노를 만드는 것
컴퓨터 : 물과 커피를 섞어 아메리카노를 만드는 것

커피는 물과 커피 하나의 동작마다 서비스라는걸로 인지하기때문에 각각을 저장 해주는 것

실질적인 서비스의 저장이 DAO에서 이루어진다.
서비스에서는 DAO의 메소드를 불러오는 역할만 한다.
그 불러온 내용의 서비스를 메인에서 호출해서 사용.

순서 
클래스 - 변수선언
인터페이스 - service, dao
클래스 - implements 사용하여 인터페이스 오버라이딩
메인 - 실행

여러개의 호출이 이동되니 확인을 잘 하고 형 변환을 신경쓰자 !

profile
Back-end Developer Preparation Students

0개의 댓글