220602 TIL

Yeoni·2022년 6월 2일
0

국비교육TIL

목록 보기
3/41

국비교육 3일차 JAVA

1. 자료형

1) 원시형 타입(Primitive Type)

1.1 정수형(byte, short, int, long)
1.2 실수형(float,double)
1.3 문자형(char) : int(4byte) 아래의 크기인 byte(1byte), short(2byte), char(2byte) 타입이 사칙연산(+ - * /)을 만나면 자동적으로 int 타입으로 자동 형변환이 발생된다.
1.4 참(true) 또는 거짓(false)를 담아주는 boolean 타입

2) 참조형 타입(Reference Type)
  • 클래스 객체(==object ==instance) 타입
  • 메모리상에 저장되어진 객체의 메모리 주소를 참조하는 것이다.
Sungjuk eomSj = new Sungjuk();  // eomSj
eomSj.hakbun = "109876";        // "109876"
eomSj.name = "엄영희";            // "엄영희"
eomSj.kor = 78;					// 78
eomSj.eng = 88;					// 88
eomSj.math = 95;				// 95

Sungjuk hongkdSj = new Sungjuk();
  
// 영희와 길동이 똑같은 인스턴스를 가리키게 만들고 싶다고 할 때  
  
hongkdSj = eomSj; 	// reference 

2. 생성자(constructor) 및 생성자 오버로딩(Overloading)

  • 기본 생성자(constructor)는 생략되어져 있다.
  • 그런데 아래와 같이 parameter가 있는 생성자를 만들어주면 생략되어져 있던 기본 생성자는 생략이 아닌 삭제가 되어져 버린다.
  • 그래서 기본 생성자가 필요할 경우, 반드시 아래처럼 기본 생성자를 만들어줘야 한다.
public class Member {

// field, attribute, property, 속성
	String userid;
	String passwd;
	String name;
	int age;
	int point;
    
// 기본 생성자(constructor)
	
	 public Member() {
	 
	 }
    
// 소괄호() 속에 있는 String name, String passwd 각각이 파라미터(parameter) == 인자 == 인수 == argument
// 파라미터(parameter)가 있는 생성자(constructor)
	public Member(String userid, String passwd, String name, int age, int point) { 
	// 지역변수명과 멤버변수(인스턴스 변수와 static 변수를 모두 지칭하는 것)명이 일치할 경우에는 지역변수가 더 우선
    // 지역변수와 멤버변수를 구분하기 위하여 this 사용
    
		this.userid = userid;
		this.passwd = passwd;
		this.name = name;
		this.age = age;
		this.point = point;
}
    

3. casting 연산자

  1. 자동 형변환(묵시적 형변환)
    --> 데이터타입의 크기가 작은 것에서 크기가 큰쪽으로는 자동적으로 형변환이 발생

    byte(1byte) --> short(2byte) --> int(4byte) --> long(8byte)

    float(4byte) --> double(8byte)

    --> 정수타입은 실수타입으로 자동형변환이 발생

    char(2byte)
    --> char타입은 int형으로 자동형변환이 발생

  2. 강제 형변환(casting)
    --> 데이터타입의 크기가 큰것을 작은것으로 강제적으로 형변환 시키는 것
    크기가작은타입 = (크기가작은타입)크기가큰타입

    실수를 정수로 강제적으로 형변환하는 것
    소수부는 무조건 절삭을 해버리고 정수만 나옴
    정수 = (정수)실수

		int in10 = (int)3.14;
		System.out.println(in10);	// in10 => 3
profile
이런 저런 기록들

0개의 댓글