java/자바 기초정리 5

자바 형변환

자동적인 형변환 컴퓨터에서는 산술적인 연산을 하기 전에 피연산자의 타입을 통일하여야 한다. 컴퓨터에서 정수 계산하드웨어와 실수 하드웨어는 완전히 다르다. 수식을 계산할 때는 가장 범위가 넓은 피연산자의 타입으로 변환된다. ex) double sum = 1.5 + 12; // 1.5 + 12.0으로 변환된다. 강제적인 형변환 강제적인 형변환을 하려면 형변환 연산자를 사용한다. 변환하려는 값의 앞에 원하는 자료형을 적어주면 된다. ex) int x = 3; double y = (double) x; 또한 더 작은 크기의 자료형에 값을 저장하는 형변환은 정보를 잃을 수 있다. 이러한 변환을 축호 변환이라고 한다. ex) i = (int) 12.5; // i에는 12만 저장

인스턴스 멤버 vs 정적 멤버(static member)

클래스 멤버는 인스턴스 멤버와 정적 멤버로 나누어진다. 인스턴스 맴버와 같은 경우는 동일한 클래스를 이용하여 많은 객체들이 생성될때 각각의 객체(인스턴스)들은 자신만의 필드를 가진다. 이들 필드는 인스턴스 마다 별도로 생성되기 때문에 인스턴스 변수(instance variable)라고도 한다. 각 객체는 이들 변수에 대하여 독립적인 기억 공간을 가지고 있으며 각기 다른값을 가지고 있다. (콘솔창에 출력된 값을 보면 Dog@15db9742 등등 각각 다른 특이한 값이 나오는데 이것이 주소값이다. 즉 이 뜻이 독립적인 기억공간을 가지고 있는 것이고 각기 다른값을 가지고있다는 뜻이다.) 정적 변수(class variable)는 클래스 당 하나만 생성되는 변수이다. 정적 변수를 만들려면 변수를 정의할 때 앞에 ..

Final 정리

final 변수 - 해당 변수가 생성자나 대입연산자를 통해 한번만 초기화 가능함을 의미한다. 상수를 만들 때 응용한다. final 메소드 - 해당 메소드를 오버라이드하거나 숨길 수 없음을 의미한다. final 클래스 - 해당 클래스는 상속할 수 없음을 의미한다. 문자 그대로 상속 계층 구조에서 '마지막' 클래스 입니다. - 보안과 효율성을 얻기 위해 자바 표준 라이브러리 클래스에서 사용할 수 있는데, 대표적으로 java.lang System, java.lang.String 등이 있다. 몇가지 세부 분석 1. final 맴버 면수가 반드시 상수는 아니다. 왜냐하면 final 의 정의가 '상수이다'가 아니라 '한번만 초기화 가능하다'이기 떄문이다. 참고: https://djkeh.github.io/artic..

자바 용어 정리

객체 : class 안에 있는 instance 지역변수 : local variable(로컬변수) 과 같은 말이다. 자바에서는 메소드 안에만 쓰이는 변수라고 한다. 따라서 메소드를 호출할때 변수가 만들어지고 메소드가 끝나면 소멸한다. 메소드에서 쓰이는 매개변수도 지역변수이다. 이것도 메소드 안에서 쓰이기 때문이다. 전역변수 : 객체변수(인스턴스 변수)와 클래스변수(static 변수)로 나눠지는데 객체변수는 클래스영역에서 선언되며 클래스의 객체를 생성할때 만들어진다. 즉 객체화를 시켜서 호출해야지만이 가능하다. 하지만 static 변수는 객체화를 시키지 않고도 사용이 가능하며 객체변수가 객체화 시킬때마다 서로 다른 공간을 가지는 반면 static변수는 여러번 객체화 시켜도 공통적인 저장공간을 가지게 된다. ..