목록java (47)
꿈 많은 사람의 이야기
객체라는 것은 물리적으로 존재하거나 추상적으로 존재하는 것에 대해 자신의 속성을 가지고 있고 다른것과 식별 가능한 것을 말한다. 예를들어 사람, 학과, 강의 등등 모든 것이 객체가 될 수 있다. 그리고 객체는 속성과 동작으로 구성되어 있다. 예를 들어 사람은 이름, 나이등의 속성이 있고 웃다, 움직이다의 동작이 있다. 그리고 객체는 다른 사람과 식별 가능하기 때문에 다 각자 객체라고 한다.예를 들어 나의 친구 A, 선생님 B, 친척 C 등등 모두 다 사람이지만 식별 가능하기에 객체가 될 수 있다. 그리고 이 객체들은 서로 상호작용이 일어난다.객체들은 다 독립적으로 존재하지만 다른 객체와 서로 상호작용하며 동작한다.사람을 보면 제자와 선생님은 서로 상호작용하며 살아간다. 그런 원리와 비슷하다. 객체지향 프..
향상된 for문은 배열에서 많이 쓰이는 방법이다. String[] numbers = {"1", "two", "3"};for(int i = 0 ; i < numbers.length; i++){System.out.println(numbers[i]);} 기존에 이러한 방식으로 for문을 돌려 작성했다고 하면for each에선 이렇게 사용한다. for(String a : numbers){System.out.println(a);} 와 같이 하면 간결하게 for문을 작성할 수 있다.
JVM은 메모리 영역을 분할해 사용한다. java.exe로 JVM이 시작되면 JVM은 운영체제에서 할당받은 메모리 영역을 다음과 같이 세부 영역으로 구분해서 사용한다. - 메소드 영역 메소드 영역은 코드에서 사용되는 클래스(~.class)들을 클래스 로더로 읽어 클래스별로 런타임, 필드데이터, 메소드 데이터 등을 분류해서 저장한다. - 힙 영역 객체와 배열이 생성되는 영역이다. 힙 영역에 생성된 객체와 배열은 JVM 스택 영역의 변수나 다른 객체의 필드에서 참조한다. 참조하는 변수나 필드가 없다면 의미 없는 객체가 되기 때문에 이것을 쓰레기로 취급하고 JVM은 가비지 컬렉션을 실행시켜 자동으로 제거한다. - 스택 영역 스택 영역은 각 스레드마다 하나씩 존재하며 스레드가 시작될 때 할당된다. 스택은 메소드..
가끔 사용자가 입력한 키보드의 버튼에 따라 프로그램을 처리해야할 때가 있다.다음은 키보드가 가지고 있는 키 코드이다. 숫자알파벳기능키방향키0 = 48A = 65N = 78a = 97A = 110Backspace = 8왼 = 371 = 49B = 66O = 79b = 98B = 111Tab = 9위 = 382 = 50C = 67P = 80c = 99C = 112Enter = [CR=13, LF= 10]오 = 393 = 51D = 68Q = 81d = 100D = 113Shift = 16아래=404 = 52E = 69R = 82e = 101E = 114Ctrl = 175 = 53F = 70S = 83f = 102F = 115Alt = 186 = 54G = 71T = 84g = 103G = 116ESC = 2..
자바는 모든 문자를 유니코드로 처리한다. 유니코드는 세계 각국의 문자들을 코드값으로 매핑한 국제 표준 규약이다. 유니코드는 하나의 문자에 대해 하나의 코드값을 부여한다. A 및 한글도 하나의 코드 값을 갖는다. 유니코드는 0 ~ 65535 범위의 2byte 크기를 가진 정수 값이다. 그 중 0 ~ 127 까지는 아스키 문자(특수 기호 및 영어 알파벳)가 할당되어 있고 44032 ~ 55203까지는 한글 11172자가 할당되어 있다. 자바는 하나의 유니코드를 저장하기 위해 2byte 크기인 char 타입을 제공한다.char var = 'A'; -> 유니코드 0x0041 -> 2진수 00000000 01000001 이런 식으로. 각 문자에 대해 유니코드 값을 얻으려면 int값으로 받으면 된다.예를 들어cha..
자바 동작 순서는 다음과 같다 1. .java 소스 파일 작성 2. 컴파일러(javac.exe)로 바이트 코드 파일(.class)생성3. JVM 구동 명령어(java.exe)로 실행 즉 동작이자바 소스 파일(.java) - (컴파일러 javac.exe) > 바이트 코드 파일(*.class) -(자바 가상 기계 java.exe)> 기계어 -> 실행
자바는 대표적인 컴퓨터 언어이다. 그 중에서도 객체 지향 언어이다.객체 지향이러는 것은 프로그램을 개발하는 기법으로 부품에 해당하는 객체들을 먼저 만들고 이거를 하나씩 조립해서 전체 프로그램을 완성하는 기법이다. 자바는 객체를 만들기 위해 클래스를 작성하고 이러한 객체들끼리 서로 연결해 목적에 맞는 프로그램을 만들어 낸다. 자바는 또 함수적 스타일 코딩을 지원한다. 자바 8부터 람다실을 지원해주어 함수적 스타일 코딩을 지원해준다. 또한 메모리를 자동으로 관리하는 특징이 있다. 자바는 객체 생성시 자동적으로 메모리 영역을 찾아서 할당하고 사용이 완료되면 Garbage Collector를 통해 객체를 제거해 주는 등의 메모리 관리를 한다. 그 외에도 JVM을 통해 자바 프로그램을 해석하고 실행할 수 있게 하..