Java 5

부호비트

부호비트(Sign Bit / MSG;Most Significant Bit)컴퓨터가 정수를 표현하는데 있어서 가장 왼쪽에 위치하는 첫 번째 비트인 MSB는 부호를 표현하는데 사용된다. MSB의 값이 0인 경우 양수를 나타내고, 값이 1인 경우 음수를 나타낸다.음의 정수 표현방법정수 5가 00000101로 저장되어 있을 때 음의 정수 -5는 MSB만 1로 설정한 10000101이 될 것 같지만, 이 둘을 더해보면 그 결과가 0이 아닌 것을 알 수 있다. ( 00000101 + 10000101 = 10001010 )1. 1의 보수법 : 1의 보수법은 해당 양수의 모든 비트를 반전하여 음수를 표현하는 방법이다. 하지만 부호 비트와 절댓값 방법과 같이 +0과 -0이 따로 존재하는 문제점을 가진다. 2. 2의 보수..

Java 2025.07.15

얕은 복사, 깊은 복사

배열 메소드1. 초기화Arrays.fill 메소드 : 배열의 주소를 모두 같은 값으로 초기화한다. Arrays 클래스는 자바에서 기본으로 제공하는 메소드가 담긴 클래스이다.Arrays.fill(arr, 1); // 배열 arr의 모든 값을 1로 초기화2. 복사 : clone() 메소드얕은 복사 : 배열은 참조형 변수이며 실제값이 아닌 실제값의 주소값(참조값)을 가지기 때문에 배열 변수간에 대입 연산자 = 를 사용해 복사를 하게 되면 주소값만 복사된다. 이렇게 주소값만 복사되고 실제값은 1개로 유지되는 것을 얕은 복사라고 한다.// 얕은 복사int[] a = { 1, 2, 3, 4 };int[] b = a; // 얕은 복사b[0] = 3; // b 배열의 0번째 순번값을 3으로 수정 (1 → 3)Syste..

Java 2023.10.19

참조형 변수

참조형 참조형 변수 = 주소값을 저장하는 주소형 변수 기본형 변수가 실제 값을 저장하는 저장공간 이라면, 참조형 변수는 실제 값이 아닌 원본값의 주소값을 저장한다. 기본형 변수 : 원본값이 Stack 영역에 있다.참조형 변수 : 원본값이 Heap 영역에 있다. Stack 영역에는 따로 저장 해둔 원본값의 Heap 영역주소를 저장한다.Stack 영역 : 정적으로 할당된 메모리 영역이다. (크기가 몇 byte 인지 정해져있는 기본형 변수를 저장한다. 크기가 정해진 참조형 변수의 주소값도 저장한다.) 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되며, 해당 변수들은 함수 호출 시 생성되고 함수 종료 시 소멸한다. 스택 영역은 후입선출(LIFO; Last-In First-Out) 방식으로 동작한다.Hea..

Java 2023.10.17

JVM, Java 실행 과정, 변수

JVM (Java Virtual Machine; 자바 가상 머신): Java로 개발한 프로그램을 컴파일하여 만들어지는 바이트코드를 실행시키기 위한 가상머신, OS(운영체제) 종류에 관계 없이 Java가 동작할 수 있도록 해준다.JDK (Java Development Kit ; 자바 개발 도구): .java 파일을 .class 파일로 변환해주는 Java Compiler(javac) 기능이 있다. 또한 jdb 기능을 통해 코드를 디버깅할 수 있다.JRE (Java Runtime Environment ; 자바 실행 환경): .class 파일을 실행 가능하다. (JRE만 있다면 Java 프로그램을 실행만 시킬 수 있다.)Java의 실행 과정바이트 코드(.class 파일): 사람이 작성한 소스파일 코드(.java..

Java 2023.10.13

문자열 비교

String 클래스의 인스턴스 생성String str = new String("abc"); // 일반적인 인스턴스 생성 방법과 차이가 없음String str = "abc"; // 보편적인 생성 방법두 가지 방법의 차이점문자열 비교== 연산자 : 비교하고자 하는 대상의 주소값(참조값)을 비교equals 메소드 : 비교하고자 하는 대상의 값 자체를 비교String str1 = "abc";String str2 = "abc";if(str1 == str2) System.out.println("동일 인스턴스를 참조함");if(str1.equals(str2)) System.out.println("내용이 동일함");String str3 = new String("abc");String str4 = new String("..

Java 2023.10.02