개인 공부/TIL

TIL #220613 #JSP # JAVA

kaleb 2022. 6. 13. 22:45
728x90

싸피 탈락의 고배를 마시고 잠시 방황하고 돌아왔습니다.

라피신도 떨어져 싸피도 떨어져~~

괜찮아! 아직 두 번 더 기회 남았어! 

 

서울체크인에서 구교환 배우님이 일이 잘 안 풀리고 힘들기만 할때에는 내가 이 영화의 주인공이다 라고 생각하면 마음이 한결 낫다 라고 하셨는데 제가 주인공이라고 생각하고 포기만 안하면 되지 않을까요? 결국엔 주인공이 다하니깐 파이팅을 잃지 않아 봅시다. 😁

 

오전 JSP

 

JSP의 경우 개인 프로젝트 게시판 만들기를 진행 하고 있습니다. 

완성하고 올리도록하며 게시판 만들기하면서 헷갈리거나 필요한 개념들만 정리하였습니다.

 

💡알아두면 좋은 개념

  • Client-side : 클라이언트(사용자) 측에서 처리하는 언어입니다. 클라이언트가 입력한 것을 수신하여 HTML 로 만들고 크롬과 같은 어플리케이션에서 해석해줍니다. (자바스크립트)
  • Server-side : 서버(제공자) 측에서 즉시 처리하는 언어입니다. 클라이언트로 보낼 웹페이지를 만들고 사용자의 유효성, DB 관련 등의 작업을 수행합니다. (Java, PHP, Ruby, Python, Node.js 등)

window 객체

window 객체는 웹 브라우저 창(window)을 나타내는 객체입니다.

window 객체의 모든 메소드나 프로퍼티를 사용할 때에는 window라는 접두사를 생략할 수 있습니다.(가장 상위의 객체이기 때문입니다.)

window객체 : document 속성이 창에 불러온 문서를 가리킵니다.

우리가 자주 사용하게될 메소드

window.open() : 새로운 브라우저 창을 엽니다.

window.close() : 열린 창을 닫습니다.

window.opener() : 현재 창을 열었던 다른 창의 참조를 반환합니다.

 

참고 :

Window - Web API | MDN

 

Window - Web API | MDN

Window 인터페이스는 DOM 문서를 담은 창을 나타냅니다.

developer.mozilla.org

 

💡 이클립스 프로젝트 추가하기

이클립스에서 다른 곳에서 받아온 프로젝트를 가져와서 쉽게 작업할 수 있습니다.

그냥 복사 붙이기를 하면 에러가 뜰 경우가 많은데 이 때 Import를 이용해봅시다.

  • File → Import를 선택합니다.
  • project from Folder or Archive를 누르고 Next
  • Directory 위치 찾고 등록 하면 Finish 를 누르면 파일이 정상적으로 import됩니다.

💡 이클립스 프로젝트 클린

이클립스를 사용하다 종종 버그가 발생합니다. 새로운 파일을 복사 붙여 넣기를 하거나 반영이 안될 때 프로젝트가 정상적으로 빌드되지 않는 문제가 발생합니다. 이러한 경우에는 프로젝트 청소기능을 이용하면 정상적으로 작동합니다.

  • project → Clean.. → Clean all projects 또는 Clean projects selected below를 누르고 원하는 프로젝트를 클릭해줍니다.

 

오후 JAVA

 

추상메서드(abstract Method)

사용 목적

: 추상 메소드가 포함된 클래스를 상속받는 자식클래스가 추상메소드를 구현하기 위함입니다.

모듈처럼 중복되는 부분이나 공통적인 부분은 미리 만들어진 것을 사용하고 이를 받아 사용하는 쪽(자식클래스) 에서는 자신에게 필요한 부분만을 재정의 하여 사용함으로써 생산성이 향상되고 배포 등이 쉬워집니다.

 

EX)

public class Test2 {

	public static void main(String[] args) {

		Vehicle v = new ElectricCar();
		v.reportPostion();
		v.addFuel();
		
		v = new DieselCar();
		v.reportPostion();
		v.addFuel();
	}
}

abstract class Vehicle {
	int curX, curY; // 현재 위치 좌표를 저장하는 변수
	
	public void reportPostion() { // 서브클래스에서 오버라이딩 옵션
		System.out.println("현재 위치 : " + curX + ", " + curY);
	}

	public abstract void addFuel(); // 서브클래스에서 구현 필수!
}

class ElectricCar extends Vehicle {
	@Override
	public void addFuel() {
		System.out.println("전기차 충전소에서 배터리 충전!");
	}
}

class DieselCar extends Vehicle {
	@Override
	public void addFuel() {
		System.out.println("주유소에서 디젤 연료 공급!");
	}
}

슈퍼클래스를 상속받은 자식 클래스에서 추상메서드로 정의한 메서드를 오버라이딩을 통해서 실행할 수행문에 값을 추가하여 정의해줍니다.

슈퍼클래스의 여러 추상메서드중에서 몇 개의 메서드만 사용하고자 한다면

사용하고자 하는 메서드는 오버라이딩을 하고

해당 자식 클래스의 키워드 앞에 abstract을 붙여줍니다.

 

변수, 상수 그리고 리터럴

변수와 상수 :

모두 하나의 값을 저장하기 위한 메모리 공간의 이름을 의미합니다.

변수의 경우 값을 변경할 수 있지만

상수는 한번 값을 초기화 하면 값을 변경할 수 없습니다.

상수는 선언과 동시에 초기화 하며 변수 타입 앞에 final 키워드를 이용하여 사용합니다.

// 변수
int Year = 2021;
Year = 2022;

//상수
final int Year = 2022;
// Year = 2022  상수는 값을 변경 할수 없습니다.

리터럴 : 값 자체를 의미합니다.

 

int score = 90;
final int Year = 2022;
String str = "Hello";

// 90, 2022, "Hello" 는 리터럴 입니다.

상수를 사용하는 이유 :

값(리터럴)에 이름을 지어줘 이를 통해 코드의 유지 보수성을 높일 수 있습니다.

 

참고 :

상수와 리터럴

 

상수와 리터럴

변수와 상수 모두 "하나의 값을 저장하기위한 메모리 공간" 을 의미하고 있다.변수는 값을 재 할당할 수 있지만, 상수는 한번 초기화하면 값을 재 할당할 수 없다.상수는 변수 타입 앞에 final 키

velog.io

 

반응형

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

TIL #220615 #JSP 게시판 만들기 #Network DNS  (0) 2022.06.15
TIL #220614 #DB #JAVA  (0) 2022.06.14
TIL #220608 #JSP # DB  (0) 2022.06.08
TIL #220607 #DB # JAVA  (0) 2022.06.07
TIL #220603 #JSP  (0) 2022.06.03