본문 바로가기
코딩도전기/JAVA

CODO Day11_JAVA(객체지향언어/변수/scope/casting)

by 코도꼬마 2023. 2. 15.

JAVA  -  객체 지향적 프로그래밍 언어

  • 객체지향언어(Object Orient Language)  :  남의 소스부품처럼 가져와 편리하게 사용하도록 설계한 언어
  • 이식성이 높다.(한번의 컴파일로 window, Linux, IOS 모두 실행 가능)
  • OPEN SOURCE 라이브러리가 풍부

 

JAVA 설치

  • JAVA SDK  :  https://corretto.aws/downloads/latest/amazon-corretto-11-x64-windows-jdk.msi
  • JAVA SE 11 을 다운로드 후 설치 하자
  • 내 PC > 속성 > 고급 시스템 설정 > 환경변수(어떤 위치에서 부르던 나타나도록 설정하는 것) > 새로 만들기
  • JAVA_HOME 이라는 변수를 만들어 자바 설치 폴더 지정
  • 이후 path 선택 후 편집 버튼...
  • 새로 만들기 > %java_HOME%\bin 경로 추가
  • 윈도우+R 눌러 실행창 열고, 층 입력
  • “java -version” 명령어로 자바정상 설치 확인

 

I.D.E Eclipse 설치

 

 

 

Program에서의 변수

 

변수의 타입

  • 담는 용도에 따라 컵의 종류, 크기, 모양이 달라짐

public class Define { //클래스

	//main 매서드가 없으면 프로그램이 실행되지 않는다
	public static void main(String[] args) { //매서드(function)
		
		//변수 선언 시 용도와 크기를 정함
		boolean varBool = true; // 참/거짓
		
		String varString = "문자열"; // 여러 문자
		char varChar = 'A'; //한글자
		
		int varInt = 0; // 정수
		long varLong = 100000000; // 큰 정수(억단위 부터)
		
		float varFloat = 0.01f; // 소숫점
		double varDouble = 0.000001; //소숫점 5자리 이상
	}
}

 

 

 

Scope

  • 변수는 선언된 곳(코드블럭)의 바깥 영역에서는 사용 불가능
public class Scope { //class
	
	String str = "Some text";  //class 안에서 사용 가능

	public static void main(String[] args) {  //method
		
		int num = 123;  //method 안에서 사용 가능
		
		for (int i = 0; i < 3; i++) {  // i는 for문 밖을 벗어날 수 없다
			int sum = num + i;  // sum은 이 블록을 벗어날 수 없다
			System.out.println(sum);
		}		
		//System.out.println(sum);		
	}
}

 

 

 

Casting

  • 형 변환(Casting)  :  한 컵에 있는 내용물을 다른 컵에 옮겨 담는 것

 

  • 작은 잔의 내용물을 큰 잔에 넣는 것은 절차가 필요하지 않음(묵시적)
  • 큰 잔에 내용물을 작은 잔에 넣을 때는 절차가 필요(명시적)

  • 명시적 형변환
public class Casting {

	public static void main(String[] args) {

		char charVal;
		int intVal;
		long longVal;
		float floatVal;
		double doubleVal;
		
		// char < int
		intVal = 74;
		charVal = (char) intVal;
		System.out.println(charVal);
		
		longVal = 500;
		intVal = (int) longVal;
		System.out.println(intVal);
		
		doubleVal = 3.14;
		floatVal = (float)doubleVal;
		System.out.println(floatVal);
	}
}

 

  • 묵시적 형변환
public class Promotion {

	public static void main(String[] args) {

		//묵시적 형변환(Promotion) 작은 -> 큰
		byte byteVal;
		char charVal = 'a';
		int intVal = 0;
		long longVal;
		float floatVal;
		double doubleVal;
		
		//byte < int		
		byteVal = 10;
		intVal = byteVal;
		
		//char < int
		intVal = charVal;
		System.out.println(intVal);
		
		//int < long
		longVal = intVal;
		
		//float < double
		floatVal = 0.01f;
		doubleVal = floatVal;

	}

}