728x90
반응형
자바 데이터 타입
- 기본형
- 정수형 byte 8bit/short 16bit/int 32bit(기본)/long 64bit,
- 실수형 float 32bit/double 64bit(기본),
- 논리형 boolean,
- 단일문자형 char(2byte, 16bit, ‘A’,’광’)
- 참조형(객체형)
- 모든 클래스 - 인터페이스, 배열
- 문자열 : java.lang.String (’A’, ‘광’, ‘광주5반’)
- 실수형은 f 붙여야 함. 더블형은 d 안붙여도 됨
Type Casting(형변환)
- 기본형 : 작은 타입은 큰 기억 공간 (정수형, 단일문자형 → 실수형)
- 참조형(객체형) : 작은 타입 (자식타입 sub class) → 큰 타입(부모타입 - super class)
- 자동 형변환 : 작은 타입의 데이터는 큰 타입의 기억공간에 자동 할당
- byte 8bit < short / char 16bit < int 32bit < long 64bit < float 32bit < double 64bit
- 왜 float이 long보다 더 크다고 볼까? →
- boolean 자동 형변환 불가 → why? : 값의 크기를 갖고 있는 게 아니기 때문 / true, false만을 의미
- 명시적 형변환 - explicit casting : 큰 타입의 데이터를 작은 타입의 기억공간에 강제 할당
- 실수형을 → 정수형 변환
- 데이터 유실이 발생될 수 있음
- 형식 : 타입 변수명 = (타입)값;
- int i = 100; byte b = (byte)i; int를 byte로 형변환하는 것 // 스위프트로 치면 // Int(i) 이렇게 해주는 것
할당연산자
- 기본형식
- 선언 : 타입 변수명;
- 값할당: 변수명 = 값; //
- 값, 변수명, 수식, 결과값을 반환하는 메소드 호출문() , new 클래스이름()
- 선언과 값할당을 각각 해도 되고, 선언 및 값할당을 동시에 해줘도 된다 = 초기화
- 타입 변수명 = 값;
- 할당순서
- 우측 연산 수행
- 우측 연산 수행결과에 대한 타입과 좌측 기억공간의 타입 체킹
- 같은 타입인 것을 확인하면 → 자동할당 작은타입의 결과를 큰 타입의 기억공간이면 → 자동형변환 할당
- 다른 타입인 것을 확인하면 → 오류 결과의 타입보다 기억공간이 작으면 → 오류 - 타입미스~
- 필요시에 명시적 형변환을 통해서 강제 할당 가능 : 단, 데이터 유실이 발생할 수 있음
- 특수문자
- 유니코드 : \uxxxx, ex). \u0000 → 공백문자
- \n : new line
- \b : back space
- \t : tab - 간격 이동
- \” : 쌍따옴표
- \’ : 따옴표
- \\ : 역슬래시 문자
File file = new File("c:\\temp\\work"); -> \\t는 탭으로 보고, \\w은 없는 특수문자라고 판단해서 오류 발생 File file = new File("c:\\\\temp\\\\work"); File file = new File("c:/temp/work");
시작메소드
// 패키지 선언문
package com.ssafy.view;
// 클래스 선언문
public class TypeTest {
// 클래스의 구성요소 : 멤버변수, 생성자, 메소드
// 시작 메소드 : 자바 어플리케이션의 entry point
// 접근제한자
// 반환값 x = void
// 매개변수 전달 - 값을 몇 개 줄 지 모르니까 -> 배열
// 근데 그 배열이 문자열 -> String[]
// args -> 매개변수의 이름
// 멤버변수 선언
// [접근권한제어자] [사용제어자] 타입 변수명 = 값;
// 접근권한제어자랑 사용제어자는 선택이세욜
public static void main(String[] args) {
System.out.println("\\njava data type 할당 및 형변환");
}
}
- 반환값이 없다는 것을 void라고 표현
→ 스위프트 반환값 없는 함수라고 보면 됨 - 클래스 이름 - 대문자
- 메소드 이름 - 소문자
제어자 Modifiers
- 접근제한자 : Access Modifiers - 정보은닉/캡슐화
- 클래스, 변수(멤버변수/지역변수, 매개변수), 생성자, 메소드 앞에 올 수 있다.
- 종류 4가지
- Public : universe(필요하면 접근 가능)
- Protected : sub class(상속을 받으면 접근 가능)
- Package 생략 - 디폴트 접근제한자 - default, friendly, package라고 함 : same package 같은 폴더(패키지)에 있는 클래스들은 접근 가능
- Private : same class 같은 클래스 내부에서 접근 가능
- setter값쓰기 / getter 값읽기
- 클래스 : public, default
- 멤버변수 : 4가지 중에서 선택
- 지역변수, 매개변수 : default only
- 생성자 : 4가지 중에서 선택
- 메소드 : 4가지 중에서 선택
public open internal fileprivate private 스위프트
- 사용제어자 : Usage Modifiers / Non-Access Modifiers
- static : 객체 생성없이 클래스이름.static멤버이름 사용 가능
타입 프로퍼티 - 스위프트와 유사 - final : 끝, 변경 불가, 값 변경 불가 - 상수, 재정의 불가, 상속불가
- abstract : 미완성(추상메소드, 추상클래스)
- static : 객체 생성없이 클래스이름.static멤버이름 사용 가능
프로퍼티, 멤버변수 - 클래스에 정의된 변수
final - 상속 및 오버라이딩을 방지시켜줘, 클래스/메소드/프로퍼티 앞에 붙어서
조건문
if - 조건표현식이 연산이 필요한 경우
switch - 정수형, string 값이 딱 떨어져야 함 / break 꼭 써주기
728x90
반응형
'⭐️ 개발 > JAVA' 카테고리의 다른 글
[JAVA] 기본문법 - 변수, 형변환, 배열 (0) | 2024.01.15 |
---|---|
[JAVA] Maven, pom.xml (0) | 2024.01.13 |
[JAVA/WEB] 웹 구동 원리 (0) | 2024.01.13 |