국비학원/수업기록

국비 지원 개발자 과정 _Day 1

루팽 2022. 11. 28. 21:49
package com.ch01;

public class Hello {
	public static void main(String[] args) {
		System.out.println("Hello Java!");
	}
}

// Hello Java!

 

package com.ch01;

//자바는 타입을 체크한다-JDK가 해준다.(문법체크, 컴파일오류)
//컴파일 -> 고급 언어를 저급 언어로 바꾸어준다.
// = 대입연산자. 오른쪽에 있는 값을 왼쪽에 대입해 주세요.

public class Sonata { //클래스 선언(정의). 선언 이유-재사용을 위해서(호출할 수 있다)
//	int와 같이 타입을 나타내는 예약어가 있다.
//	JDK11 -> 이 안에는 예약어가 많이 들어있다.
//	변수 선언 -> 타입 변수이름
//	int i = 3.14; //컴파일 오류, 큰 값을 작은값에 담을 수 없다.
	int i = 3; //변수 선언 및 초기화, 정수형을 담을 수 있는 타입 int
	double d = 3.14; //실수형
	
//	슬래시(/)를 2번 쓰면 주석(실행x)
//	int j; //변수 선언만 했을때(초기화x) -> 컴파일 에러 원인(전역변수는 선언과 초기화를 나누어 작성 불가)
//	j = 5; //초기화
	
//	메소드 안에서는(지역변수는) 변수 선언과 초기화를 분리하여 작성할 수 있다.
	static void methodA() {
		System.out.println("methodA 호출");
//		정수형을 담을 수 있는 변수 j를 method 내부에서 선언하였다.
//		지역변수는 메소드 안에서 선언한다.
//		지역변수는 메소드 밖에서 접근이 불가하다.
//		지역변수는 메소드 안에서 사용되고 나면 사라진다.
		int j; //변수 선언
//		선언된 변수 j에 5라는 값을 담았다. 이것을 초기화 라고 한다.
		j = 5; //지역변수는 초기화를 생략할 수 없다.
	}
    
//	변수 이름 뒤에 괄호()가 있으면 메소드라고 부른다.
//	메소드는 동사형이다, 기능을 담당한다.
//	이클립스에서 코딩하고, 코딩 영역은 반드시 클래스 선언 내부여야한다.
//	클래스 내부에는 메인메소드를 가질 수 있다.
//	메인메소드가 있어야 exe파일로 만들 수 있다.
//	코드 실행시 가장 먼저 호출되는 곳.
//	JVM이 자동으로 호출한다.
	
	public static void login(String id, String pw) { //파라미터 자리()는 선언하는 자리이다.
		System.out.println(id + ", " + pw); //변수 id, pw를 출력해주세요.
	}
    
//	메인메소드는 자바에서 제공되는 메소드이다.
//	그러니 리턴타입과 파라미터 타입 등을 바꾸면 안된다.
//	JVM의 코드 실행 순서: 46-47-48-20-21
	public static void main(String[] args) { //이것을 메인 메소드라고 한다.
		System.out.println("main 메소드 호출 성공");
		methodA(); // methodA 메소드에 static을 붙여야 호출가능.
        
//		메소드를 호출할 때 세미콜론(;)으로 끝내고,
//		파라미터가 존재하면 파라미터도 고래해야하고,
//		또한 타입도 고려되어야만 한다.
//		결론: 사용자 정의 메소드 호출시 파라미터와 타입도 맞춰야한다.
//		static 영역에서는 내 안에 정의된 메소드라 하더라도,
//		반드시 인스턴스화를 하고 호출해야한다.
//		또는(두 번째 방법은) methodA()처럼 똑같이 static을 붙여서 선언해라.
		login("tomato", "123");
		login("apple", "456");
	}
}

// main 메소드 호출 성공
// methodA 호출
// tomato, 123
// apple, 456

 

package 패키지명; //유사한 클래스들을 묶어줄 패키지 선언

[import 다른 패키지에 있는 클래스명;] //외부클래스 사용 선언

class 클래스명 {
	자료형(타입) 변수명; //멤버변수(전역변수), 클래스 내부에서 사용
    public static void main(String[] args) { //main 메소드 선언
    
    	시작될 기능 구현 코드
    
    }
    
    public 반환형(리턴타입) 메소드명(매개변수, 매개변수, ...) { //사용자 정의 메소드도 선언 가능
    //매개변수에 사용자가 입력한 값을 담을 수 있다
    //메소드 안에 선언된 변수는 지역변수
    
    	메소드 기능 구현 코드
    
    }
}


클래스-첫 글자는 무조건 대문자로

코딩하는 곳-클래스 내부 → 클래스 선언 { … 이곳에서 코딩 … }

클래스 안에는 메소드를 정의할 수 있다 -> 내 멋대로 반환형, 파라미터 타입 등을 바꿀 수 있다
하지만 자바에서 제공하는 메소드는 바꾸면 안 됨!

반환형(리턴 타입)
ex. void(반환할 것이 없음)

메소드 뒤에 ()가 오면 변수 선언, {}는 메소드선언이고 세미콜론(;)으로 끝나면 호출이다

디버그
더블클릭-break point
step into-그 메소드 안으로 이동
step return-다시 밖으로 빠져나오기
step over-다음 줄로 이동