Ch 2
- 실수형: float 4 byte, double 8 byte (3.14는 3.14d에서 d가 생략된 것이다)
- 타입별로 문자 붙이는 것: long 타입(주민번호), float 타입,
- 리터럴(값 그대로), 키워드(int, long, float, final 등), 상수(PI), 변수(변할 수 있는 수)
- 기본형은 8개. 타입이 대문자이면 기본형이 아니다.
- 유니코드: 연산은 char를 전부 int로 바꾼다(유니코드 값으로) "A"는 65, "a"는 97, "1"은 49
=> 문자열+문자열은 그냥 문자열문자열이다.

- 변수의 이름으로 사용할 수 있는 것들: 숫자 시작 X, 예약어 X, 특수문자 $와 _, 한글 사용 가능
- 참조형 변수: 모든 참조형 변수는 4byte 이다
- 자동형변환

- char 타입 변수에 저장될 수 있는 정수 값의 범위. 2byte 이기에 16bit 이는 2**16 까지 가능
- public static void main(String [] args)
===>> [] 는 타입 뒤에 붙여도 되고, 변수명 뒤에 붙여도 된다.
// public과 static은 위치가 변경되어도 된다.
// 매개변수 args는 다른 이름이어도 괜춘하다.
- 타입과 기본값
boolean: false, char: '\u0000', float: 0.0f, long: 0L
String: null(String은 참조형 타입, 모든 참조형 타입의 기본값은 null)
Ch 3
- 삼항 연산자 a>0 ? a : (a=0 ? 0 : -a) 처럼 활용 가능
- 연산의 우선순위
상관 무: /와 * <<는 +보다 우선 순위가 뒤다. (<<는 뒷 숫자만큼 2의 n제곱해서 앞 숫자와 곱하는것) || 는 &&보다 우선 순위가 뒤다. |
- % 적극 활용 (나머지가 0인 경우가 있기에, int a % b >0 ? x : y 등으로 이용)
- 소수점 x번째 자리에서 반올림해야한다. Math.round() 사용하면 되지만, 그렇지 않다면!
=> x번째 자리가 소수점 첫번째가 될 수 있도록 곱하고, 0.5를 더한다.
(반올림 대신, 0.5 더해서 올림 되지않으면 어차피 반올림해도 오르지 않는것이기에)
-> 그리고 나서 int타입으로 변환하고 곱한 만큼을 f붙여서 나누면 된다.
- printf에서 i++ 여도 증가하는 것이다!! + 덧셈연산자일 때는 내용 변경없이 새로운 값을 만들어주기 때문에 i 값 변화x
- 이항 연산은 반드시 타입 일치시키고 실행한다.
- double과 float 연산은 둘 다 double타입으로 변한다. 정확한 근사값은 float타입이다.
- char타입에서 숫자일 때 조건 // '0' <= X && X<= '9'
Ch 4
Ch 5
Ch 6
Ch 7
- 객체지향에서 캡슐화, 상속, 추상화, 다형성이 중요.
- 오버라이딩: 부모 클래스에서 대략 정의된 동작을, 자식 클래스에서 좀 더 구체화시켜 재정의(오버라이딩)하는 것.
구현부만 변경가능, 선언문은 불가능.
ex) usb에서 컴퓨터로 덮어쓰기할 때, png파일이 hwp파일을 덮을 수는 없지 않은가? 2개가 1개를 덮을 수 없고,,,, 다 같아야한다. => 반환타입, 메서드이름, 매개변수목록, 인수타입 + 바인딩 방식 : 동적 바인딩 (실행시에 결정)
vs
오버로딩 (Overloading) : 동일 클래스 내 또는 상속 관계 둘 다 가능 (클래스를 차라고 생각하자)
- 주로, 클래스 상속시에, 기존에 없던 새로운 메서드를 추가하는 것 . 어떤 메소드의 구현내용을 다양하게, 다른 형태로 동시에 제공키 위해 사용
- 조건 : 메소드명 만 같으면 됨 - 바인딩 방식 : 정적 바인딩 (컴파일시에 결정)
- this는 iv와 lv 구분할 때 쓰는 참조변수.
- 다형성
(1) 객체지향에서 제일 중요하다. (2) 조상타입참조변수로 자손 타입 객체를 다루는 것. 참조변수의 차이로 인해 사용할 수 있는 멤버의 개수 상이. => 참조변수는 리모컨. t.hour은 t 리모컨의 hour을 누른다. 넷플릭스가 되는 tv에서 넷플릭스 버튼이 없는 리모컨 vs 넷플릭스 안되는 tv에서 넷플릭스 버튼이 있는 리모컨(리모컨에서 호출했는데 안 나오면 그건 에러) 이렇게 타입의 불일치를 통해 두 가지 장점이 있다. (1) 다형적 매개변수: 참조형 매개변수는 메서드 호출시, 자신과 같은 타입 또는 자손타입의 인스턴스를 넘겨줄 수 있다. (2) 하나의 조상타입 배열로 여러 종류 자손 객체 다룰 수 있다. => 다형성을 활용하면 기능을 확장하거나, 객체를 변경해야할 때 타입 변경 없이 객체 주입만으로 수정이 일어나게 할 수 있다. 또한 상속을 사용한다면 중복되는 코드까지 제거할 수 있으므로 더욱 객체 지향 설계와 가까워 |
- instanceof 연산자(형변환 가능여부 ->인스턴스의 원래기능을 모두 사용하려는.. true가 나오면 가능)
Ch 8
Ch 9
댓글