개인 공부/TIL

TIL #220608 #JSP # DB

kaleb 2022. 6. 8. 21:55
728x90

하루가 정말 쇽 하고 사라졌습니다. 내용이 많기보다느 하는게 많아서 어떻게 지나갔는지 모르고 보냈는데 막상 돌아서 복습하니 그렇게 많지는 않았네요. 띠용?

국비학원을 다닌지 벌써 50%가 다 되는 것 같은데 짧은 시간에 많은 걸 도전했던 것 같습니다.

남은 기간 더 성장 할 수 있기를! 

 

오늘은 오전에 JSP 오후 Java 수업으로 진행되었는데 오후에는 게시판에 댓글을 다는 방법에 대해서 고민해보고 실행해보는 시간을 가졌습니다. JSP 게시판의 경우 페이지도 많고 하나만 TIL로 올리기도 부적절한것 같아서 개인과제 전으로 연습도 할겸 새로운 카테고리로 찾아뵙도록하겠습니다.

페이지가 많기 때문에 오늘은 간단하게 순서라도 정리해보았습니다.

 


게시판 만들기 순서

Phase 1

Member 구성 (회원가입, 로그인, 로그아웃, 메인홈)

Joinform(회원가입) → joinPro(회원가입 내용 처리) → Login form(회원 로그인)  → Login Pro (로그인 처리) →
Main ( + logout 로그아웃 처리)

 

Phase 2

Board 게시판 내용 구성 (내용 작성, 목록 작성, 글 수정, 글 삭제, 글 상세 내용 보기, 페이징 처리, 댓글 달기)

Writeform(글 작성) → Write_Pro(작성한 글 처리 insert into구문활용) → list( 작성한 글을 조회하기 Select 구문활용) → detail (작성한 글의 내용 조회하기 select구문활용) → Modify(작성한 글 수정) → Modify_Pro(수정 처리 Update구문활용) → Delete(글 삭제) → Delete_pro( 삭제 처리 Delete구문활용) →
페이징처리 → 댓글달기(insert Into 와 select 구문활용하기)

 


오후 Java

 

자바의 경우 상속과 Casting을 예제들과 함께 공부하였는데 개념에 대해서 궁금하시다면 

 

https://meerkat127.tistory.com/24?category=1062369 

 

#TIL #220607 #DB # JAVA

Longtime no see!... 8월 전 마지막 연휴가 찾아왔었습니다. 저는 어디로 사라졌다가 이제 돌아왔을까요? 제 시간 보신분 혹시 계실까요? 힐링이 필요했다면 나름 잘 쉬다가 돌아왔습니다!! 쉰 만큼 이

meerkat127.tistory.com

 

(두둥탁) 미어캣의 필기장을 참고하시라~~~!

 

상속

: 이미 잘 개발된 클래스를 재사용하여 새로운 클래스를 만들기 때문에 중복되는 코드사용을 줄여줍니다.

public class A {
	int field1;
	void method1() {...}
}

public class B extends A {
	super(); //부모생성자
	String field2;
	void mothod2() {...}
}

 

부모클래스의 수정으로 모든 자식클래스도 수정되는 효과를 가져오기 때문에 시간을 최소화 할 수있습니다.

슈퍼클래스의 메서드를 상속받아 오버라이딩을 하는 경우 코드의 통일성을 향상시킬수 있습니다.

 

메소드 재정의(Overriding)

부모 클래스의 모든 메소드가 자식 클래스에 맞게 사용하기에 적합하지 않을 수도 있습니다. 이 경우 상속된 일부 메소드는 자식 클래스에서 다시 수정할 필요가 있습니다.

 

메소드가 재정의된다면 부모 객체의 메소드는 숨겨지기 때문에, 자식 객체에서 메소드를 호출하면 재정의되 자식 메소드가 호출됩니다.

부모메서드를 호출해야할 경우에는 “super.부모메서드()”의 형태로 부모메서드를 호출할 수 있습니다.

 

 

Casting

  • 자동 타입 변환 (Upcasting) 
    : 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급 될 수 있다는 의미 입니다.
    ”부모타입 변수 ← 자식 타입”
    업캐스팅된 이후에는 자식 객체를 참조하더라도 변수로 접근 가능한 멤버는 부모 클래스 멤버로만 한정 됩니다.
    메소드가 자식클래스에서 재정의되었다면 자식클래스의 메소드가 호출됩니다.!

 

업캐스팅이 왜 필요한가?

업캐스팅은 다형성과 관련이 있습니다.

Ex)

public class Ex {

	public static void main(String[] args) {

// Circle -> shape 업캐스팅
		Shape s = new Circle();
		s.draw();
// 원 그리기가 출력
		
// Rectangle -> shape 업캐스팅
		s = new Rectangle();
		s.draw();
// 사각형 그리기가 출력

// Triange - > Shape 업캐스팅
		s = new Triangle();
		s.draw();
// 삼각형 그리기 출력
	}
}

class Shape {
	public void draw() {
		System.out.println("도형그리기");
	}	
}

class Circle extends Shape {
	@Override

	public void draw() {
		// TODO Auto-generated method stub
		super.draw();
		System.out.println("원그리기");
	}
	public void CirclePaing() {
		System.out.println("원그리기");
	}
}

class Rectangle extends Shape {

	@Override
	public void draw() {
		System.out.println("사각형그리기");
	}
	public void rDraw() {
		System.out.println("사각형그리기");
	}
}

class Triangle extends Shape {

	@Override
	public void draw() {
		System.out.println("삼각형그리기");
	}
	public void design() {
		System.out.println("삼각형그리기");
	}
}

 

필드의 타입을 부모 타입으로 선언하게 된다면 다양한 자식 객체들이 저장 될 수 있습니다.

매개 값으로 어떤 자식의 객체가 제공되었냐에 따라서 메소드의 실행결과가 다양해질 수도 있습니다.

 

 

  • 강제 타입 변환 Downcasting :
    “자식 타입 변수 ← (자식타입)부모타입”
    업캐스팅이 선행된 상태에서 사용이 가능하고 부모타입을 자식타입으로 변환하는 것을 말합니다.

  • 객체 타입 확인 : 강제 타입 변환을 확인 하는 방법입니다. 객체가 어떠 클래스의 인스턴스인지 확인하기 위해서 instanceof 연산자를 통해 확인합니다.
public void method(Parent parent) {
	if(parent instanceof Child) { 
    	// Parent 타입 변수 parent is a Child?
		Child child = (Child) Parent;  
        // Yes, 부모타입을 자식타입으로 다운캐스팅합니다.
	}
}

 

추상클래스

 

개념

: 객체를 직접 생성할수 있는 클래스들의 공통적인 특성을 추출하여 선언한 클래스 입니다.

추상클래스는 실체 클래스와 상속의 관계로 사용되는데 부모클래스가 추상클래스, 자식클래스가 실체 클래스의 역할을 합니다.

추상클래스(Animal class) ← (상속) ← 실체클래스 (Bird, Fish class)

  • 공통된 필드와 메소드의 이름을 통일할 목적으로 사용합니다.
  • 실체 클래스를 작성할 때의 시간 절약을 할 수있습니다.
public class Ex {

	public static void main(String[] args) {
			SmartPhone smartPhone = new SmartPhone("Lee");
			smartPhone.turnOn();
			smartPhone.internetSearch();
			smartPhone.turnOff();
	}	
/*
	Turn on
	Searching
	Turn off
*/
}

 abstract class Phone {

	public String owner;
	
	public Phone(String owner) {
		this.owner = owner;
	}

	public void turnOn() {
		System.out.println("Turn on");
	}

	public void turnOff() {
		System.out.println("Turn off");
	}
}

 class SmartPhone extends Phone {

	public SmartPhone(String owner) {
		super(owner);
	}	

	public void internetSearch() {
		System.out.println("Searching");
	}
}

 

 

부족하지만 도움이 되셨기를...


 

 

반응형

'개인 공부 > TIL' 카테고리의 다른 글

TIL #220614 #DB #JAVA  (0) 2022.06.14
TIL #220613 #JSP # JAVA  (0) 2022.06.13
TIL #220607 #DB # JAVA  (0) 2022.06.07
TIL #220603 #JSP  (0) 2022.06.03
TIL #220602 #DB #WEB  (0) 2022.06.02