[자바]기본개념 및 문법

또또·2024년 5월 30일

JAVA

목록 보기
1/2

자바란

프로그래밍 언어중 고급언어에 속하는 언어로 1995년 썬 마이크로시스템즈에서 발표한 객체지향 프로그래밍 언어

기계와 가까울 수록 저급언어(인터프리터) , 멀수록 고급언어(자바, 파이썬)

객체지향언어(OOP)로 JVM덕분에 os에 구애받지 않고 범용으로 사용이 가능
컴파일러를 사용해 안전한 프로그래밍이 가능
람다식을 지원해 함수적 스타일의 코딩이 가능

람다식이란?
익명함수를 지칭하는 용어로 함수의 이름 없이도 정의할 수 있는 식
주로 일회성 이나 간단한 작업 수행시 사용

동적로딩을 지원한다

동적로딩이란
메모리를 미리 확보해놓지 않고 필요할때마다 메모리를 확보한다
실행이 느리다는 단점이 있지만 시스템 프로그램으로 커버가 가능하다
유지보수시 특정 객체만 쉽게 수정 및 교체가 가능하다

JVM

  • 자바 가상머신(Java Virtual Machine)

    자바코드를 컴파일러가 *class파일로 바꾼다 그 다음 jvm을 통해 변환해 이해할 수 있는 코드로 바꾼다

문법

변수: 프로그래밍에서 데이터를 담을 수 있는 공간

int a =3;
int a =4 

상수: 한번 할당하면 변하지 않는 수

final int a =3;
finail int a =4; //에러

예약어를 만다면 예약어의 역할을 하려고 하기 때문에 함수의 이름으로 사용이 불가
(클래스 첫문자 대문자 패키지 첫글자는 소문자 문자열"")

변수의 종류에 따라 사용되는 범위와 생명주기가 다름
클래스 변수
static 키워드를 사용해서 선언되며 클래스에 속함
모든 인스턴스가 공유하고 클래스가 처음 호출될 시 생성되고 프로그램 종료시 소멸
자주 사용되며 변하지 않는 데이터에 사용된다

public class Example {
    public static int classVariable = 42; // 클래스 변수

    public static void main(String[] args) {
        System.out.println(Example.classVariable); // 접근 방법
    }
}

인스턴스 변수
클래스내에서 선언, static 키워드 사용 안함
인스턴스마다 독립적인 값을 가지고 객체가 생성될때 생성되고 이 객체를 참조하는 다른 객체가 없을때 소멸한다

public class Example {
    private int instanceVariable; // 인스턴스 변수

    public Example(int value) {
        this.instanceVariable = value;
    }

    public static void main(String[] args) {
        Example example1 = new Example(10);
        Example example2 = new Example(20);

        System.out.println(example1.instanceVariable); // 출력: 10
        System.out.println(example2.instanceVariable); // 출력: 20
    }
}

지역변수
메소드 내에서 선언되고 특정 메소드가 호출될떄 생성되고 메소드 종료될때 소멸
메소드 내에서 일시적으로 필요한 데이터에 사용

public class Example {
    public void method() {
        int localVariable = 5; // 지역 변수
        System.out.println(localVariable);
    }

    public static void main(String[] args) {
        Example example = new Example();
        example.method(); // 출력: 5
    }
}

매개변수
메소드의 생성인자로 전달되는 변수
특정 메소드가 호출되고 메소드가 종료될때 소멸

public class Example {
    public void method(int parameter) { // 매개 변수
        System.out.println(parameter);
    }

    public static void main(String[] args) {
        Example example = new Example();
        example.method(10); // 출력: 10
    }
}
  • 변수의 타입
    논리형 (boolean)
    1byte
	//자료형 Data type
		//1. 논리형 boolean : 1byte
		boolean isRight = true;
		boolean isRain = false;

문자형(char)
2byte

	char ch = 'A'; // 문자열은 홑따움표씀(문자가 두개 이상이면 "")
		char ch2 ='a';
		char ch3 ='1'; // 정수형으로 변환하면 순서대로 65,97,49 나옴
		// 메모리에는 정수형으로 저장됨 저장되는게 아스키 코드로 저장

정수형(byte, short, int, long)

//byte: 1byte (8bit) 2^8 ==256
		// -128 부터 127까지
		byte age =127;
		age+=1;
		System.out.println(age);
		//short: 2byte(16bit) 2^16 =65536
		short lunch = 10000;
		//int 4byte(32bit) 2^32 = 42억~ 
		int salary = 150000000;
		//long:: 8byte(64bit) 2^64 = 1800경
		long popular = 7000000000L;

실수형
float 4byte

//float: 4byte
		float weight = 55f; //사용시 꼭 f나 F를 뒤에 붙여야함
		//double: 8byte
		double PI = 3.141592653

형변환

작은타입 -> 큰타입 형변환(자동 묵시적 형변환)
큰타입 -> 작은타입 형변환(강제 명시적 변환)

profile
내가 바라던 곳이야 흔들리지 않게 맘을 잡아

0개의 댓글