• char 로 선언하고 숫자리터럴 대입해도 print하면 문자로 나옴
• \u치고 유니코드 치면 코드값에 해당하는 문자 나옴
ex) char han='\uD55C'; 치면 한 출력
• java 10부터 자료형 명시 필요X(only in 지역변수)
• 상수선언: final int MAX_NUM=10000;
->재선언 불가
• 몫: /
○ double로 타입 선언하면 10/4=2.5
○ int면 2나옴
• 나머지: %
• 논리연산자
○ && (논리곱) ->둘다 참이어야 참
○ || (논리합) ->하나라도 참이면 참
두 항이 있을 때 첫번째 항으로 결과가 결정날 경우 뒤의 항을 아예 실행을 안함-> 만약 뒤의 항에서 변수 값을 바꾸는 행위가 있어도 그냥 그대로임
• 지수표기법
○ 0.24=2.4*10-2=2.4e-2
• 비트 연산자
○ & : and : 둘다 1일때 1반환, 나머지는 0
○ | : or : 하나라도 1이면 1반환, 둘다 0이면 0
○ ^ : xor : 두 비트가 서로 다르면 1 반환
• for( ; ; ) -> 무한반복
• 객체 지향 프로그래밍 하는 방법
○ 객체 정의
○ 각 객체의 속성을 멤버 변수로, 역할을 메서드로 구현
○ 각 객체간의 협력 구현
• 객체 : 객체 지향 프로그램의 대상, 생성된 인스턴스
• 클래스 : 객체를 프로그래밍 하기위해 코드로 정의해 놓은 상태 인스턴스 : new 를 사용하여 클래스를 메모리에 생성한 상태
• 멤버 변수 : 클래스의 속성, 특성
• 메서드 : 멤버 변수를 이용하여 클래스의 기능을 구현한 함수
• 참조 변수 : 메모리에 생성된 인스턴스를 가리키는 변수
참조 값 : 생성된 인스턴스의 메모리 주소 값![](https://velog.velcdn.com/images/imageimage/post/0fb269ee-1d02-4cb6-9d92-b51170cc57c8/image.png)
• char=2byte
• 참조 자료형으로 멤버 변수를 쓰는 경우 대부분 생성자에서 많이 생성.(강의 2-9 참조)
유일하게 new없이도 객체를 생성할 수 있는 참조 자료형은 String
기본 생성자는 이미 생성자가 선언되어있으면 생성되지 않는다.
• string 자료형
String str1 = "hello"
String str2 = "hello"
String str3 = new String("hello");
String str4 = new String("hello");
○ 상수영역에 hello라는 인스턴스가 생성되고 str1과 str2는 같은 인스턴스를 참조하고(가리키고)있다
○ new로 생성한 인스턴스는 무조건 새로 만들어진다. str3과 str4는 서로 다른 인스턴스를 참조한다.
str1 == str2 의 결과는 true문이다.
str3 == str4 의 결과는 false
• this 용법
this.멤버변수 : 매개 변수와 객체 자신이 가지고 있는 변수의 이름이 같은 겨우 이를 구분하기 위해 this 를 붙인다.
this(매개변수) : 생성자 내에서 다른 생성자를 호출한다.
• this 로 오버로딩된 다른 생성자 호출하기
○ 인자가 여러개인 생성자가 있을 때, 인자가 적은(없는) 생성자를 만들고 싶으면 this(name,weight, 0) 이런식으로 기본값을 설정하는 용도로 쓸 수 있다.
• builder pattern 에서 return this 를 하면 main에서 객체 생성할 때 .함수명으로 체인을 이어갈 수있다.