11월 29일 - 자바문법 기초부터 다시!
basicbasic day08
< 변수 만드는 법 >
클래스이름 변수이름;
ex) Integer score;
< 변수 사용하는 법 >
// 출력문이나 연산식 내부에 변수 이름을 대입하여 사용
변수이름만 쓰기
< 변수에 저장하는 법 >
클래스이름 변수이름 = 값;
ex) Integer score = 90;
< 클래스 만드는 법 >
class 클래스이름(
)
숫자 저장하는클래스 Integer
글자 저장하는클래스 String
< 메소드 만드는 법 >
class 클래스이름{
반환클래스이름 메소드이름 (매개변수클래스이름 매개변수이름) {
return 반환값;
}
}
ex) class Calc {
Integer sum (Integer x) {
return x + 10;
}
}
void = 리턴값이 없음, 메소드가 어떤 작업을 수행하긴 하지만 그 결과값을 반환하지 않는 경우에 사용
< 클래스로 객체 생성하는 법 >
new 클래스이름();
< 객체에 있는 메소드 사용하는 법 >
1. 객체참조변수이름.메소드이름(); // 매개변수가 없는 메소드의 호출
2. 객체참조변수이름.메소드이름(인수1, 인수2, ...); // 매개변수가 있는 메소드의 호출
< 객체에 있는 변수 사용하는 법 >
객체가 저장된 변수이름 다음 . 찍고 객체 안에 있는 변수이름 또는 메소드이름
< 생성자 만드는법 > Alt + Insert
class 클래스이름 { 클래스이름 ( ){ } }
생성자 만드는 법(메소드와 비슷한 모양)
클래스(매개변수 선언, ...){ }
ex) Car(String color, int cc){ }
< 생성자 사용하는 법 >
객체 생성할 때랑 같음
new 클래스이름();
다른 클래스에 생성자를 선언한 클래스이름으로 객체를 생성하기
ex) Car mycar = new Car("검정", 3000);
< 조건문 >
if(조건) {
조건이 참일 때 실행할 코드
}
ex) if(num1 < num2) {
System.out.println("작다");
}
< 조건문2 >
if(조건) {
조건이 참일 때 실행할 코드
} else if(조건) {
조건이 거짓일때 실행할 코드
}
ex) if(num1 < num2) {
System.out.println("작다");
}
else if(num1 > num2){
System.out.println("크다");
} else {
System.out.println("같다");
< 반복문1 >
while(비교/논리 연산자 조건){
반복할 코드
조건을 변경시키는 코드
}
ex) while(num1 > 5){
System.out.println("크다");
num1 = num1 - 1;
}
< 반복문2 >
for(초기화식; 조건식; 증감식){
조건이 true일 경우 반복할코드
}
ex) for(Int i=0; i<10; i++){
num = num + i;
}
< 반복문3 >
break;가 실행되면 즉시 반복문 종료
continue;가 실행되면 바로 다음차례 반복문 실행
< 배열 만드는 법>
클래스이름[] 변수이름 = new 클래스이름[크기];
< 배열의 값 사용 >
변수이름[순서번호]; //순서번호는 0번부터
< 입력하는 법 >
Scanner scanner = new scanner(System.in);
< 출력하는 법 >
System.out.println("출력 내용") - 개행해서 출력
System.out.print(); - 개행 하지 않고 출력
< 예외 처리 >
try catch - 예외가 발생하는 곳을 try로 묶음
throws - main한테 문제를 던짐, 여러개의 exception을 적을 수 있다
try{
예외발생가능코드
} catch(예외클래스 e) {
예외처리
} finally {
항상실행;
}
< 예외 떠넘기기 >
리턴타입 메소드이름(매개변수) throws Exception {
}
< 오버로딩 > //새로운 메소드를 정의하는 것
하나의 클래스에서 같은 메소드를 만드는 것
< 상속 >
class 자식클래스 extends 부모클래스{}
< 오버라이딩 > // 상속받은 기존의 메소드를 재정의하는 것, 자식클래스에서 사용
ctrl + o
부모가 상속해준 메소드를 내가 바꿔서 사용
두개의 클래스에서 같은 메소드를 만드는 것
자식이 부모의 메소드를 덮어쓴다
< 접근제어자 >
// 클래스 만들때 앞, 메소드 만들때 앞, 변수 만들때 앞에 써주는것
// 아무나 클래스, 메소드, 변수를 사용할 수 없게 접근제한하는것
public > protected > default(생략) > private
public : 모든 클래스에서 접근 가능(패키지와 상관없음)
private : 같은 클래스안에서만 접근 가능
protected : 같은 패키지안의 모든 클래스와, 다른 패키지의 자식 클래스에서 접근 가능(상속까지 가능)
default : 접근지정자가 없으면(아무것도 안붙어있으면) default로, 같은 패키지안의 클래스에서만 접근 가능(같은 패키지까지 가능)
변수 만 딸랑 적혀있으면 변수사용!
.찍으면 사용하겠다~
변수 = 객체를저장하고있는 변수.메소드
(대문자로되어있는게 클래스)
객체 생성안하고 클래스.메소드 바로 썼으면 메소드앞에 static이 붙어있는거다~
-> static 키워드를 붙이면 객체 생성 없이도 메서드나 변수를 사용할 수 있다
** 변수(객체가저장되어잇음).method() -> 메소드사용 -> 반환하겠다
객체를저장하고있는변수.a -> a뒤에 괄호가 없으므로 변수사용하는거임
this 는 자기자신
변수에는 객체가저장되어있다
JDBC : 자바코드로 DB에 CRUD하는 것
JSP 서블릿 = 자바코드로 클라이언트요청을 받아서웹페이지를 만들어주는 기능
프론트엔드
웹 서버 : 클라이언트가 요청한 파일을 다운로드할 수 있게 해주는 서비스를 제공하는 프로그램
파일 = 서버에 저장되어있는 파일 그대로
백엔드
웹 어플리케이션 서버 : 클라이언트가 요청한 파일을 다운로드할 수 있게 해주는 서비스를 제공하는 프로그램
파일 = 서버에 저장되어있는 파일 그대로 x