Dev/Java7 [Java] ==와 equals() 차이 == 은 스택의 값을 비교하고equals() 는 힙의 값을 비교한다. JVM 메모리 영역은 간략하게 메소드, 힙, 스택으로 나뉜다. 스택(Stack)원시 자료형과 참조 변수(+객체주소) 저장 힙(Heap)참조 변수의 실제 데이터와 객체 저장 String s1 = "KR", s2 = "KR";System.out.println(s1 == s2); // 스택 주소 동일 동일 값을 가리키기에System.out.println(s1.equarl(s2)); // 값 자체만 비교"KR"이 힙에 먼저 생성된 후, s1 변수가 스택에 생성되면 "KR"의 주소를 저장한다.다시 나오는 "KR"은 힙에 생성되어 있는지 조회하고, 이미 있으니 스택에 s2을 생성하고 "KR" 주소를 저장한다.s1와 s2 둘 다 힙에 있는 "KR.. 2024. 7. 30. [Java] && 와 &는 동일하지 않다. 참, 거짓으로 구분하는 연산자를 논리 연산자라고 한다.&& : 모두 true여야만 true|| : 한 개만 true여도 trueSystem.out.println(true&&true); // trueSystem.out.println(true&&false); // falseSystem.out.println(true||false); // trueSystem.out.println(false||false); // false 두 문자 쌍으로 나타내는 연산자 말고 한 개짜리도 있다. 비트로 전환해 연산하는 비트 논리 연산자 이다. & : 모두 true여야만 true| : 한 개만 true여도 true 이 두 연산자는 또 다른 차이점이 있다.한 쪽만 실행하고 결과가 나오면 반환하느냐, 끝까지 실행해 보느냐의 차이이다... 2024. 7. 29. [Java] 데이터 타입 데이터 단위길이는 mm - cm - m - km... 의 단위로 표현이 된다.데이터도 크기를 나타내는 단위가 있다.컴퓨터는 모든 정보를 0과 1만 이해하고 연산한다.전기가 흐르면 1 흐르지 않으면 0 한 자리 단위를 1bit라고 한다. 1bit = 2^1: 한 자리에서 표현할 수 있는 상태는 2가지(0 or 1)2bit = 2^2: 두 자리에서 표현할 수 있는 상태는 총 4가지(00 or 01 or 10 or 11) 컴퓨터에서는 8bit가 데이터를 저장하는 최소 단위이며 8bit를 1byte라고 한다.1byte로는 2^8 256(0~255) 가지의 값을 저장할 수 있다.8 비트(Bit)1 바이트(Byte)1024 바이트(Byte) 1 킬로바이트(KB)1024 킬로바이트(KB) 1 메가바이트(MB) 102.. 2024. 7. 28. [Java] JVM 구조 OOP(Object Oriented Programming 객체 지향 프로그래밍)는 클래스 단위로 구현된다. OOP 언어 : Java, Python, C#... 자바 프로그래밍 할 때는 자바 파일(.java)로 작성하고cmd에서든 IDE에서든 자바 파일을 컴파일하면 클래스 파일(.class)이 생성 된다.컴파일 : 자바 소스코드를 바이트코드로 변환하는 과정바이트코드 : JVM이 인식할 수 있는 기계어, 각 명령어가 1byte(8bit=2^8)로 이루어져 있다. 클래스 파일이 JVM으로 넘어가면 어떻게 실행될까? JVM은 크게 세 가지 영역으로 구분 된다. Class Loader클래스 저장, 검증, 초기화Loading : 클래스 정보 런타임 데이터 영역에 저장Linking : 클래스 정보 검증하고 사용할 .. 2024. 7. 27. [Java] 자바 프로그램은 어떻게 실행될까? 자바는 운영체제에서 독립적인 언어이다. 어느 운영체제에서든 실행할 수 있다.그럴 수 있는 이유는 자바 가산 머신 JVM을 사용하기 때문이다.하드웨어 위에 운영체제를 깔고 여러 소프트웨어를 돌렸듯이운영체제 위에 JVM을 설치하고 그 위에서 프로그램을 돌리는 것이다. JVM는 자바 코드(.java)를 바이트코드(.class)로 컴파일하고 운영체제에 맞게 기계어(010101)로 변환한다. JVM 환경을 구성하기 위해서는 JRE 또는 JDK가 필요하다. JRE Java Runtime Environment 자바 실행 환경자바 프로그램을 실행하는데 필요한 라이브러리와 API, JVM을 포함하고 있다.자바 개발이 아닌 자바로 만든 프로그램을 실행하고 싶다면 JRE만 설치하면 된다. JDK Java Developm.. 2024. 7. 27. [Java] 프로그래밍은 언제부터 시작? 에이다 러브레이스 19세기1815~1852현재 존재하는 거의 모든 프로그래밍 언어에 사용되는 개념을 최초로 만들었다.서브루틴(Subroutine), 점프(Jump), 루프(Loop), 조건문(If then) 등 ENIAC 애니악 19462차 세계 대전 당시 만들어지기 시작한 30톤짜리 공학용 계산기1946년에 완성되었기에 전쟁에 활용되진 않았다.진공관, 기계식스위치, 메모리용 저항을 사용했다. EDVAC 애드박 1951중앙 프로세서, 기억장치, 프로그램, 데이터로 이루어져 있다.2진수에 의한 표현과 프로그램 내장 방식을 설계의 중심으로 한다. EDSAC 애드삭 1949애드박 설계 당시 자문이었던 폰 노이만은 보고서를 제출한다. 그 보고서에 현대 컴퓨터의 근간인 폰 노이만 구조의 개념이 담겨있었다.폰 노이.. 2024. 7. 27. 이전 1 2 다음 반응형