java.lang.Math 클래스 수학에서 자주 사용하는 상수들과 함수들을 미리 구현해 놓은 클래스 모든 메소드는 static method이므로, 객체를 생성하지 않고 바로 사용 가능 Math.E와 Math.PI Math.E : 오일러의 수, 자연 로그의 밑 값으로 약 2.718을 의미 Math.PI : 원의 원주를 지름으로 나눈 비율(원주율) 값, 약 3.14159를 의미 random() 메소드 0.0 이상 1.0 미만의 범위에서 임의의 double형 값을 하나 생성하여 반환 내부적으로 java.util 패키지의 Random 클래스를 사용한 의사 난수 발생기(pseudorandom-number generator)를 사용하여 임의의 수 생성 아래 코드는 0부터 99까지의 난수를 생성하는 예 System...
final 상속/변경을 금지하는 것 final 필드(변수) 실행되는 과정에서 한 번 값이 정해진 이후에는 값이 바뀌지 않도록 함 10행과 28번 행에서 변수 PI의 값을 수정하려고 하지만 오류 발생 class Calculator { static final double PI = 3.14; int left, right; public void setOprands(int left, int right) { this.left = left; this.right = right; //final로 지정된 변수에는 한번 값이 할당되면 그 값을 바꿀 수 없기 때문에 오류가 발생한다. //Calculator.PI = 6; } public void sum() { System.out.println(this.left + this.r..
equals()와 hashCode는 모든 Java 객체의 부모인 Object 클래스에 정의되어 있기 때문에, Java의 모든 객체는 Object 클래스의 equals와 hashCode()를 상속받음 동일성 : 주소 값을 비교 ( == ) 동등성 : 객체 내부의 값을 비교 (equals와 hashCode를 재정의 하여 비교) equals() ? 2개의 객체가 동일한지 검사하기 위해 사용 기본적으로 주소 값을 비교하여 같은 메모리 주소를 가진 경우에 동일하다고 판단 public boolean equals(Object obj) { return (this == obj); } hashCode() ? 객체의 HashCode란 객체를 식별할 하나의 정수 값을 의미 hashCode()는 객체의 HashCode를 리턴 ..
== 연산자 int, boolean과 같은 Primitive type에 대해서 값 비교 Reference type에 대해서는 주소값 비교 Primitive type도 Constant Pool에 있는 특정 상수를 참조하는 것이기 때문에 결국 주소값을 비교하는 것으로 볼 수 있음 int a = 10; int b = 10; int c = 20; System.out.println(a==b); //true System.out.println(a==c); //false 변수 a,b,c는 값이 stack에 존재하므로 stack에 있는 변수 값만 비교하게 됨 equels() Object에 포함되어 있기 때문에 equals()를 재정의 해서 사용할 수 있음 Object의 equals() public boolean equa..
JRE(Java Runtime Environment)? 자바 실행 환경의 약자로, 자바로 만들어진 프로그램을 실행시키는데 필요한 라이브러리들과 각종 API, 그리고 JVM이 포함되어 있음 JDK(Java Development Kit)? 자바로 개발하는데 필요한 것들이 담겨있는 키트, javac, java, javaw, javadoc 등 개발 도구들을 포함하고 있으며, 개발하고 실행해야 하기 때문에 JRE를 포함하고 있음