프로그래밍/JAVA 24

다형성 이해

지금까지 공부하면서 이해한 다형성에 대한 설명이다. 추가로 배우거나 다른 방식으로 이해를 하게될 수 있으므로 계속 수정할 예정이다. 다형성 1. 객체 지향에서는 한 객체가 여러 타입을 갖는 것 2. 하나의 메소드가 다양한 방법으로 동작하는 것 - 오버로딩, 오버라이딩 1. 객체 지향에서는 한 객체가 여러 타입을 갖는 것 역할과 구현의 관점에서 worker와 키보드를 가지고 예를 들어보자. worker역할 - 키보드 역할(인터페이스) - 기계식 키보드(구현) - 무접점 키보드(구현) - 일반 키보드(구현) 새로운 키보드가 나와도 키보드의 역할을 할 수 있으면 새로운 키보드를 만들 수 있다.(확장에 용이하다) worker(클라이언트)에게 영향을 주지 않고 새로운 기능을 제공 할 수 있다. 또한, worke..

연산자

산술 연산자 +(더하기) -(빼기) *(곱하기) /(나누기) %(나머지) 단항 연산자 +(양수) -(음수) ++(1씩 증가시킨다) --(1씩 감소시킨다) 비교 연산자 A==B(A와 B가 같다) A!=B(A와 B가 같지않다) AB(A는 B보다 크다) A=B(A는 B보다 크거나 같다) 논리 연산자 &&(and) ||(or) 비트 연산자 &(AND - 두 개의 비트가 모두 1일 때 1을 반환) |(OR - 두 개의 비트중 한개라도 1일때 1로 반환) ^(XOR - 두 개의 비트가 서로 다를 경우만 1로 반환) ~(NOT - 비트를 1이면 0으로, 0이면 1로 반전) (right shift - 비트를 오른쪽으로 이동시킨 값을 반환) 삼항 연산자 조건식 ? 피연산자1 : 피연산자2 int a = (5>4) ? 5..

JAVA 형변환

자바에서 형변환은 자동 형변환(Promotion)과 명시적 형변환(Casting)이 있다. 자동 형변환(Promotion) short a = 5; int b = 10; long c = a+b; a와 b의 데이터 타입이 c의 데이터 타입보다 작으므로 자동으로 형변환(프로모션)이 된다. byte < short, char < int < long < float < double 명시적 형변환(Casting) double a = 10.1; int b = (int)a; b의 데이터 타입이 a의 데이터 타입보다 작지만 명시적으로 타입을 바꿨으므로 a의 데이터가 b에 들어갈 수 있다. 다만 데이터 손실이 발생하므로 (위의 b를 출력해보면 10이 출력됨) 주의가 필요하다.

JAVA 데이터 타입

정수형 데이터 타입 메모리의 크기 표현 가능 범위 byte 1 byte -128 ~ 127 short 2 byte -32,768 ~ 32,767 int 4 byte 2,147,483,648~2,147,483,647 long 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 실수형 float 4byte ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38) double 8byte ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d) 문자형 char 2byte 모든 유니코드 문자 논리형 boolean 1byte true/false