훌이
후리스콜링개발
훌이

블로그 메뉴

  • 왈 (iOS APP)
  • Github
전체 방문자
오늘
어제
  • 전체 (171)
    • ⭐️ 개발 (140)
      • JAVA (4)
      • Web (5)
      • iOS & Swift (94)
      • iOS Concurrency (4)
      • Rx (18)
      • Git (6)
      • WWDC (1)
      • Code Refactor (3)
      • Server (1)
    • ⭐️ Computer Science (22)
      • 운영체제 (10)
      • 네트워크 (5)
      • PS (7)
    • 경제시사상식 (8)
    • 기타 등등 (0)

인기 글

최근 글

05-28 15:47

티스토리

hELLO · Designed By 정상우.
훌이

후리스콜링개발

⭐️ 개발/JAVA

[개발] JAVA 기초

2024. 1. 10. 22:01
728x90
반응형

자바 데이터 타입

  1. 기본형
    1. 정수형 byte 8bit/short 16bit/int 32bit(기본)/long 64bit,
    2. 실수형 float 32bit/double 64bit(기본),
    3. 논리형 boolean,
    4. 단일문자형 char(2byte, 16bit, ‘A’,’광’)
  2. 참조형(객체형)
    1. 모든 클래스 - 인터페이스, 배열
    2. 문자열 : java.lang.String (’A’, ‘광’, ‘광주5반’)
  3. 실수형은 f 붙여야 함. 더블형은 d 안붙여도 됨

 

Type Casting(형변환)

  1. 기본형 : 작은 타입은 큰 기억 공간 (정수형, 단일문자형 → 실수형)
  2. 참조형(객체형) : 작은 타입 (자식타입 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 클래스이름()
    • 선언과 값할당을 각각 해도 되고, 선언 및 값할당을 동시에 해줘도 된다 = 초기화
      • 타입 변수명 = 값;
  • 할당순서
    1. 우측 연산 수행
    2. 우측 연산 수행결과에 대한 타입과 좌측 기억공간의 타입 체킹
    3. 같은 타입인 것을 확인하면 → 자동할당 작은타입의 결과를 큰 타입의 기억공간이면 → 자동형변환 할당
    4. 다른 타입인 것을 확인하면 → 오류 결과의 타입보다 기억공간이 작으면 → 오류 - 타입미스~
    5. 필요시에 명시적 형변환을 통해서 강제 할당 가능 : 단, 데이터 유실이 발생할 수 있음
  • 특수문자
    • 유니코드 : \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

  1. 접근제한자 : 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 스위프트

  1. 사용제어자 : Usage Modifiers / Non-Access Modifiers
    • static : 객체 생성없이 클래스이름.static멤버이름 사용 가능
      타입 프로퍼티 - 스위프트와 유사
    • final : 끝, 변경 불가, 값 변경 불가 - 상수, 재정의 불가, 상속불가
    • abstract : 미완성(추상메소드, 추상클래스)

프로퍼티, 멤버변수 - 클래스에 정의된 변수
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
    '⭐️ 개발/JAVA' 카테고리의 다른 글
    • [JAVA] 기본문법 - 변수, 형변환, 배열
    • [JAVA] Maven, pom.xml
    • [JAVA/WEB] 웹 구동 원리
    훌이
    훌이

    티스토리툴바