
떠오르는 강자.
공부해보자.
자바는 M.E (MicroEdition)에서 시작되었다.
자바는 펌웨어를 만들기 위해 탄생.
여러 도구들을 불러와 실행하는 CommandCenter다.
때로는 도구가 없다면 도구를 만들기도 한다.
'' 작은 따옴표는 문자가 아니다.
"" 큰 따옴표는 문자다. 정확히는 문자열을 묶는 참조 타입이다.
태생은 참조타입이나, 워낙 많이 사용하기에 기본타입처럼 사용한다.
"" 참조. 즉 주소를 반환한다.
new.
객체 : 데이터들의 묶음.
80% 클래스 15% 인터페이스 2% Custom
Memory를 관리하는 놈이 O.S(운영체제)다.
컴퓨터에 장착된 RAM.
각각의 Byte 마다 구별된다, 주소로 , 각각의 바이트마다 주소로 지정 되어있다.
예
4gb => 1번째 바이트는 0번째 ( 42억 9천4~~ 번지가 있다)
마지막 바이트는 4,294,947,295 번지이다
32bit 컴퓨터라면 RAM의 최대 용량은 4gb이다.
32bit라는 것은 AderessLine or DataBus 가 32개 라는 의미.
응용프로그램이 실행될 때 물리적 메모리에서 특정부분의 영역을 할당받은 메모리.
메모리 추가 할당이 될때는, 새로운 공간에서 만들어지며, 주소는 기존 마지막 주소+1 이다.
할당받은 메모리는 응용프로그램(java)에서 논리적인 주소를 부여한다.
java의 해시코드라는 메소드가 논리적인 주소를 10진수로 나타낸다.
기본 타입
객체타입 = 사용자 정의 타입
특징 :
기본타입의 배열을 제외하고는 모두 대문자이다.
숫자
char 은 문자로 해석 해서 Data를 65 숫자로 입력해도, 아스키코드 65인 문자 A를 출력한다.
정리:
먼저 변수를 선언하고, new 연산자 이용해서 만들고, 데이터를 할당한다(사용한다).
컴퓨터 처리 순서.
// 정석
String iname; // 변수 선언하고
iname = new String("이름"); // 데이터를 만들면서 할당한다.
// 현재
//문자열은 빈도수가 높기에, 위 과정을 선언 과정을 데이터 할당과 동시에 한다.
크기:
참조타입의 변수 크기는 4byte다. (원래는 System bit를 따라가야 원칙) 64bit = 8 byte.
실제 데이터가 있는 곳을 가야한다.
배열 또한 4byte ( 참조형이다 .)
기본타입은 상자 안에 데이터가 있다. 참조타입은 주소를 알려줄 뿐이다. 메모리에 할당된.
왜?
참조타입은 주소를 저장하고있으니까, 논리적 AddressLine을 따라가야한다.
java에서 사용하는 max용량은 4gb이다. 환산하면 32bit 4byte 이다.
C++은 절차지향 + 객체 지향.
고정적이다. ( 자료의 종류가 바뀌지 않는다. )
문자와 문자열은 종류가 다르다.
16진수의 데이터 , 2진수의 데이터 등등.
구별할 줄 알아야 한다.
데이터 아끼겠다고 작은 실수 보다 큰 실수 써라.
실수는 정확한 연산 결과를 얻을 수 없다.
컴퓨터 처리 방식은 2진법, 실수가 5로 끝나면, 그나마 가까운 값을 얻을 수 있다.
동등 논리연산의 값은 True or False 이다, 단 실수는 값이 변할 수가 있어, 위험한 결과를 유발한다.
연산에서 속도가 제일 빠르다.
그것을 잘 하기 위해서는 2진수와 아스키 코드가 기반이 되어야 한다.
??? : 비트 연산을 모르거나 , 왜 쓰는지 모르는 사수에게는 배울것이 없다.

Class의 구조는 Field 와 Method로 2가지로 나뉜다.
Field(변수) 안에 Method(함수) 포함 유무로,
LocalField , instanceField 로 나뉜다.
사용
LocalField(지역변수)
LocalField는 바로 사용 가능하다.
원래 있던 놈이니까.
InstanceField()
InstanceField는 만들어져야 사용가능.
: new라는 만드는 지역변수를 사용해야 가능.
필드는 만들어진 시점에서 초기화 된다.
지역변수는 대입문(=)을 넣어야 된다.
stack영역은 만들어졌다가 필요 없어지면 사라진다.
동작은 stack 영역 안에서 실행된다.
Default
정수 : 0
실수 : 0.0
논리 : false
객체 : null
java프로그램 실행시, 컴퓨터관점 처리 방식.
크게 3분할 , 4분할로 볼 수 있다.
최상단의 위치.
지역변수,static 필드가 위치해 있다.
실행 공간이다. 부엌이며,작업대라고 볼 수 있다.
다른 영역에서 필요한 Data들을 불러와서 처리하는 느낌.
데이터를 저장하는 공간.
Method들을 모아놓는 공간
: 메모리 상에 Static이 가장 먼저 만들어진다. ( 할당 영역이 다르다. )
엄밀히는 멤버이긴 하지만 영역이 다른 출가한 구성원이라고 이해.
구조를 그림으로 만드는 연습을 하자.
low레벨 작동 방식으로 그림을 그려 시각화 하면, 이해할기 수월하며,
그렇게 해야한다.
공통점
: 소문자로 시작하며,연결되는 단어가 대문자 (camel).
지역변수와 필드와 메서드 구별
: 개발자가 필요에 의해서 만듬.
이름뒤 소괄호() 있으면 메소드(함수)이다.
지역변수와 필드의 차이
: 개발자가 필요에 의해 만든 이름
변수는 선언하는 시점에서 반드시 타입이 정의되어야하고,
선언하는 시점에서 반드시 크기가 결정이 된다.
어떤 자료를 담을 것인지 결정이 된다.
메소드명 앞의 이름
: 메소드를 실행하고 반환할 타입.
void : 반환하지 않겠다.
string : 문자열을 반환.
int : 정수 반환
-->
