자바 프로그래밍

    static과 변수

    static_ - static 자료형 변수 이름;으로 선언 ex) static int name; - 여러개의 인스턴스가 같은 메모리의 값을 공유하기 위해 사용 - 인스턴스의 생성과 관계없이 클래스 이름으로 직접 메서드 호출 - static 메서드에서는 생성이 불확실한 인스턴스 변수를 사용할 수 없음 각 변수 별 실행 시점_ 변수 유형 선언 위치 사용 범위 메모리 생성과 소멸 지역 변수 (로컬 변수) 함수 내부에 선언 함수 내부에서만 사용 스택 함수가 호출될때 생성되고 함수가 끝나면 소멸 멤버 변수 (인스턴스 변수) 클래스 멤버 변수로 선언 클래스 내부에서 사용하고 private이 아니면 참조 변수로 다른 클래스에서 사용 가능 힙 인스턴스가 생성될 때 힙에 생성되며 가비지 컬렉터가 메모리를 수거할 때 소멸..

    생성자 this

    this란_ - 자신의 메모리를 가리킴 - 생성자에서 다른 생성자를 호출 - 자신의 주소를 반환 ex1) public class Person { String name; int weight; public Person(Sting name, int weight){ this.name = name; this.weight = weight; } => this가 없다면 name과 weight는 파라미터로 사용되는 name과 weight로 사용 ex2) public class Person { String name; int weight; public Person( ) { this("이름 없음", 1); => 밑의 생성자(Person)의 형식을 호출해 사용 이때는 제일 먼저 사용이 돼야 하며 this코드 위에 아무것도 올 ..

    클래스와 객체

    객체(object)_ - 데이터(대상) 객체지향 프로그래밍(object oriented programming, oop)_ - 객체를 기반으로 하는 프로그래밍, java - 절차 지향 프로그래밍과 반대, c언어 ex) 학생, 밥, 버스, 학교를 각각 객체로 나눠서 프로그래밍 절차 지향 프로그래밍_ - 절차, 순서를 기반으로 하는 프로그래밍 ex) 학생이 밥을 먹고 버스를 타서 학교를 가는 순으로 프로그래밍 클래스_ - 객체에 대한 속성과 기능을 코드로 구현한 것 - 대문자로 시작 멤버 변수_ - 객체의 속성, 특성을 가지는 것 - property, attribute - 소문자로 작성하되 뒤에 다른 단어가 붙으면 그 지점만 대문자 ex) studentName 메서드(method)_ - 객체의 기능을 가지는 ..

    상수와 리터럴

    상수_ - 변하지 않는 값 - final 키워드 사용하며 보통 뒤에 이름은 대문자로 표기 상수 선언 방법_ - final 자료형 이름 등호 값 세미콜론 ex) final int MAX_NUM = 100; 리터럴(literal)_ - 프로그램에서 사용하는 모든 숫자, 값, 논리 값 ex) 10, 3.14, 'a', true, 위 예 중 100도 리터럴 - 리터럴 값들은 특정 메모리 공간인 상수 풀(constant pool)에 있음 형 변환(type conversion)_ - 서로 다른 자료형의 값이 대입되는 경우 일어남 묵시적 형 변환_ - 작은(덜 정밀한) 수에서 큰(더 정밀한) 수로 대입되는 경우로 자동으로 변환 명시적 형 변환_ - 묵시적 형 변환의 반대 - 큰 수를 작은 수에 대입하는 경우로 변환되..