2장: 데이터 타입과 연산자

2025. 4. 28. 19:14· 언어/Java
목차
  1. 1. 데이터 타입의 중요성
  2. 2. Java의 8개 기본(Primitive) 타입
  3. 3. 변수와 리터럴 (Literal)
  4. 변수의 범위(Scope)와 생명주기(Lifetime)
  5. 4. 연산자 (Operators)
  6. 산술 연산자
  7. 증감 연산자
  8. 관계(비교) 연산자
  9. 논리 연산자
  10. 대입 연산자와 복합 대입 연산자
  11. 5. 타입 변환 (Type Conversion)
  12. 자동 타입 변환 (Widening Conversion)
  13. 강제 타입 변환 (Casting)
  14. 6. 표현식(Expression)과 타입 승격(Type Promotion)

1. 데이터 타입의 중요성

  • Java는 **강타입 언어(strongly typed language)**다​.
    • 변수, 값, 표현식마다 **타입(type)**이 명확히 있어야 한다.
    • 타입 불일치 오류는 컴파일 단계에서 바로 걸린다.
    • 무타입 변수 따위는 존재하지 않는다.

➔ 결과:
타입 체크 덕분에 프로그램 신뢰성과 안전성이 높아진다.

2. Java의 8개 기본(Primitive) 타입

➔ 주의:

  • Java는 unsigned 타입 없음 (모든 정수는 signed)​.
  • 플랫폼 독립성을 위해 각 타입의 범위가 엄격히 고정되어 있다.

3. 변수와 리터럴 (Literal)

 리터럴 (Literal)

  • 리터럴 = 고정된 값. (예: 100, 'a', 3.14)
  • 정수 리터럴 기본 타입은 int, 실수는 double이다​.
  • 접미사로 타입 지정 가능:
    • 123L → long
    • 3.14F → float
  • JDK 7부터는 리터럴 안에 _(언더스코어) 허용해서 가독성 향상 가능:
    • 예: 123_456_789

초기화(Initialization):

변수에 '처음' 값을 설정하는 행위

동적 초기화(Dynamic Initialization):

변수를 선언할 때 단순한 상수 대신 "계산 결과"나 "다른 변수의 값"으로 초기화

변수의 범위(Scope)와 생명주기(Lifetime)

 

  • 변수가 선언된 블록에 들어갈 때 메모리에 할당되고,
  • 블록을 빠져나오면 메모리에서 자동 삭제된다.

 

  • 블록마다 변수 재선언 금지. (같은 이름 재사용 불가)

ㅡ> 바깥 블록에서 선언한 변수 이름을 안쪽 블록에서 다시 사용할 수 없다.

4. 연산자 (Operators)

산술 연산자

  • % 연산자는 정수형뿐 아니라 실수형에도 적용 가능하다​.

증감 연산자

주의:

  • ++x (전위) → 먼저 증가하고 사용
  • x++ (후위) → 사용하고 나서 증가​

관계(비교) 연산자

➔ 결과는 항상 boolean 타입이다​.

논리 연산자

➔ 논리 연산 결과도 boolean 타입이다.

대입 연산자와 복합 대입 연산자

  • = : 값 대입
  • 복합 대입 연산자 (Shorthand Assignment)
    • +=, -=, *=, /=, %=, &=, |=, ^=
    • 예시: x += 10; 는 x = x + 10;과 같다​.

5. 타입 변환 (Type Conversion)

자동 타입 변환 (Widening Conversion)

  • 작은 타입 → 큰 타입 자동 변환 가능.
  • ex: byte → int, int → long, long → float​

강제 타입 변환 (Casting)

  • 타입이 호환되지 않으면 캐스팅 필요.
  • 문법: (타겟타입) 값
  • ex:
int i;
double d = 3.14;
i = (int) d;  // 강제 변환

주의:

캐스팅은 데이터 손실 위험이 있다​

6. 표현식(Expression)과 타입 승격(Type Promotion)

 

  • byte/short/char 연산 시 int로 승격 후 연산된다.
  • 혼합 타입 연산 시, 더 큰 타입으로 자동 승격된다.

 

저작자표시 비영리 변경금지 (새창열림)

'언어 > Java' 카테고리의 다른 글

4. Classes, Objects, and Methods  (0) 2025.05.01
3: Program Control Statements  (0) 2025.04.28
1장 Java Fundamentals  (0) 2025.04.28
Java 변수 종류  (0) 2025.04.27
Java 스트림 API  (0) 2025.03.17
  1. 1. 데이터 타입의 중요성
  2. 2. Java의 8개 기본(Primitive) 타입
  3. 3. 변수와 리터럴 (Literal)
  4. 변수의 범위(Scope)와 생명주기(Lifetime)
  5. 4. 연산자 (Operators)
  6. 산술 연산자
  7. 증감 연산자
  8. 관계(비교) 연산자
  9. 논리 연산자
  10. 대입 연산자와 복합 대입 연산자
  11. 5. 타입 변환 (Type Conversion)
  12. 자동 타입 변환 (Widening Conversion)
  13. 강제 타입 변환 (Casting)
  14. 6. 표현식(Expression)과 타입 승격(Type Promotion)
'언어/Java' 카테고리의 다른 글
  • 4. Classes, Objects, and Methods
  • 3: Program Control Statements
  • 1장 Java Fundamentals
  • Java 변수 종류
434
434
434
434
434
전체
오늘
어제
  • 분류 전체보기 (116)
    • 네트워크 (1)
    • 운영체제 (1)
    • DB (1)
    • 프로젝트 (1)
      • 4dx (0)
      • 연습 (1)
    • 백준 (13)
      • 백준 (0)
      • 자료구조 (0)
    • CS (64)
      • 운영체제 (13)
      • 네트워크 (23)
      • 자료구조 (9)
      • 컴퓨터구조 (0)
      • 프로그래밍 언어론 (10)
      • 형식언어 오토마타 (0)
      • 기타 (2)
      • 정보처리기사 (7)
    • 언어 (13)
      • Java (13)
    • 프레임워크 (14)
      • Spring (14)
    • Tools (0)
      • Notion (0)
      • Github (0)
      • VS Code (0)
      • IntelliJ (0)
    • hello스킨 튜닝 (5)

블로그 메뉴

  • 관리
  • 글쓰기

공지사항

인기 글

태그

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
434
2장: 데이터 타입과 연산자
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.