
자바는 이렇게 만들어야 한다는 설계도이며, 문서이다이 표준 스펙을 기반으로 여러 회사에서 실제 작동하는 자바를 만든다자바 표준 스펙은 자바 커뮤니티 프로세스(JCP)를 통해 관리된다여러 회사에서 자바 표준 스펙에 맞추어 실제 작동하는 자바 프로그램을 개발한다각각 장단점

패키지(package)패키지는 자바 파일을 구분하기 위한 폴더variable 라는 패키지를 만들었다면, 해다 패키지에 들어가는 자바 파일 첫줄에 package variable;와 같이 소속된 패키지를 선언해주어야 한다자바 파일이 위치하는 패키지와 package vari

변수는 데이터를 다루는 종류에 따라 다양한 형식이 존재한다 String은 첫 글자가 대문자로 시작하는 특별한 타입이다 지정한 타입에 맞지 않는 값을 사용하면 컴파일 오류가 발생한다코드에서 개발자가 직접 적은 100,10.5,true,'A',"Hello Java"와 같은

자바는 특이하게 문자열과 문자열을 더할 수 있다\-> 문자열1뒤에 문자열2가 이어서 붙여지는 형식으로 더해진다문자열과 숫자를 더하면 자바가 숫자를 문자열로 바꿔준다 \->위 예제에서 실제로는 "a + b = " + "10" 인 셈이다자바는 문자열인 String 타입에

if문은 특정조건이 참인지 확인하고, 그 조건이 참(true)일 경우 코드를 실행한다else문은 if문에서 만족하는 조건이 없을 때 실행하는 코드를 제공한다else if은 앞선 if문의 조건이 거짓일 때 다음 조건을 검사한다만약 앞선 if문이 참이라면 else if를

while문 >while문은 조건에 따라 코드를 반복해서 실행할 때 사용한다 >- 조건식을 확인한다 참이면 코드 블럭을 실행하고, 거짓이면 while문을 벗어난다 조건식이 참이면 코드블럭을 실행한다 이후에 코드 블럭이 끝나면 다시 조건식 검사로 돌아가서 조건식을 검사
지역 변수는 이름 그대로 특정 지역에서만 사용할 수 있는 변수라는 뜻이다 그 특정 지역을 벗어나면 사용할 수 없다 여기서 말하는 지역은 변수가 선언된 코드 블록({})이다 지역 변수는 자신이 선언된 코드 블록 안에서만 생존하고, 자신이 선언된 코드 블록을 벗어나면 제거

작은 범위에서 큰 범위로는 당연히 값을 넣을 수 있다ex) int -> long -> double큰 범위에서 작은 범위는 다음과 같은 문제가 발생할 수 있다소수점 버림오버플로우하지만 결국에는 대입하는 타입을 맞추어야 한다실제로는 이런 과정이 자바에서 자동으로 일어난다
System.out을 통해 출력을 했듯이 System.in을 통해서 사용자의 입력을 받을 수 있다 그런데 자바가 제공하는 System.in을 통해서 사용자 입력을 받으려면 여러 과정을 거쳐야해서 복잡하고 어렵다 자바는 이런 문제를 해결하기 위해 Scanner라는 클래스

배열은 같은 타입의 변수를 사용하기 편하게 하나로 묶어둔 것이다배열을 사용하려면 int\[] students;와 같이 배열 변수를 선언해야 한다일반적인 변수와 차이점은 대괄호가 들어간다는 점이다배열 변수를 선언한다고해서 아직 사용할 수 있는 배열이 만들어진 것은 아니다

2차원 배열은 행과 열로 구성된다행은 영어로 row(로우), 열은 영어로 column(칼럼)이라 한다행의 길이일차원 배열에서 쓰던 arr.length열의 길이arrrow.length배열의 인덱스를 사용하지 않고, 종료 조건을 주지 않아도 된다, 단순히 해당 배열을 처음

자바에서는 함수를 메서드(Method)라 한다메서드도 함수의 한 종류라고 생각하면 된다메서드 이름, 반환 타입, 파라미터 목록을 포함한다이름 그대로 이런 메서드가 있다고 선언하는 것이다 메서드 선언 정보를 통해 다른 곳에서 해당 메서드를 호출할 수 있다public st

자바는 항상 변수의 값을 복사해서 대입한다참조형도 똑같다 참조형 변수에 있는 값인 참조값을 복사한다main()도 사실은 메서드이다 각각의 메서드 안에서 사용하는 변수는 서로 완전히 분리된 다른 변수이다이름이 같아도 완전히 다른 변수다main()의 number와 chan
🍋 메서드 이름으로 자주 사용되는 동사get/setgetter/setter 에서 사용한다.(getter/setter의 사용은 지양하는것이 좋다.)init데이터를 초기화하는 메서드 명에 쓰인다.is/has/can위의 3개는 boolean 값을 리턴한다.is = 맞는지