new를 사용해 생성자로 생성
class 생성 후 Student studentLee(새로운 변수) = new Student();
1개 만 존재
Java 일 때 여러개 존재
하나의 기능을 수행하는 코드
함수는 호출하며, 사용 가능하고 수행후 return ( 재사용 가능 )
여러 곳에 호출되어 사용 가능
기능 구현을 위해 class 내부에 구현되는 함수
(클라이언트 코드)명으로 하는 것이 best!!!
ex) getStudentName()
--> camel notion - 소,대문자 형식
--> pakage 명 - 소문자
--> 변수 - (앞)소문자, (중간)대문자``
배우기 쉬운 객체지향 언어-> 프로그래밍언어 + 객체지향 개념 ( c++, java, python)
자동 메모리 관리 -> 가비지 컬렉터(GC)
가비지 컬렉터(GC)
-> 시스템에서 더이상 사용하지 않는 동적 할당된 메모리 블럭을 찾아 자동으로 다시 사용 가능한 자원으로 회수하는 것으로 시스템에서 가비지 컬렉션을 수행하는 부분
멀티 쓰레드를 지원 -> 하나의 기능을 수행하면서 다른 기능까지 가능
풍부한 라이브러리로 쉽게 개발
운영체제에 독립적
boolean
public class BooleanTest {
public static void main(String[] args) {
boolean isMarried = false;
System.out.println(isMarried);
}
}
결과 값 : false
Double & Float
public class DoubleTest {
public static void main(String[] args) {
double dNum = 3.14;
float fNum = 3.14F;
System.out.println(dNum);
System.out.println(fNum);
}
}
결과 값 :
3.14
3.14
long
public class IntegerTest { public static void main(String[] args) { byte bs = -128; // -128~127 System.out.println(bs); int iVal = 12345678900; //int의 수의 범위에 벗어난 숫자 이므로 오류 } } public static void main(String[] args) { byte bs = -128; // -128~127 System.out.println(bs); long iVal = 12345678900L; //long으로 써주면서 수의 범위를 맞춘다 }
public class CharTest { public static void main(String[] args) { char ch = 'A'; System.out.print(ch); System.out.print((int)ch); int ich = 65; System.out.print(ich); System.out.print((char)ich); char hangul = '\uAC00'; System.out.print(hangul); } }
결과 값: A, 65, 65, A, 가
public class ImplicitConversion { public static void main(String[] args) { byte bNum = 10; int iNum = bNum; // (int-4Byte) (byte-1byte) 이므로 묵시적으로 형변환 System.out.println(bNum); System.out.println(iNum); int iNum2 = 20; float fNum = iNum2; System.out.println(fNum); double dNum; dNum = fNum +iNum; System.out.println(dNum); } } public class ExplicitConversion { public static void main(String[] args) { int i = 1000; byte bNum = (byte)i; // 명시적으로 byte를 넣으므로써 강제 형변환- 데이터 유실 System.out.println(bNum); double dNum1 = 1.2; float fNum = 0.9f; int iNum1 = (int)dNum1 + (int)fNum; //1+0이 됨 형변환하게되면 소수점 날아감 int iNum2 = (int)(dNum1 + fNum); // 더하고 나서 소수점이 날아감 == 2 System.out.println(iNum1); System.out.println(iNum2); } }
ImplicitConversion 결과값 : 10, 10, 20.0, 30.0
ExplicitConversion 결과 값 : -24 , 1, 2
항(operand) : 연산에 사용되는 값
연산자(operator) : 항을 이용하여 연산하는 기호
int age = 20;
--> 왼쪽 변수의 값이 오른쪽에 대입(우선 순위가 낮은 연산자)
연산의 결과가 true/false로 반환 됨
int 변수 = 조건식?결과1:결과2;
int a = 10;
int b = 20;
int max;
max = (a > b)? a:b; // 조건 연산자
System.out.println(max);
---> 결과 값 : 20