분류 전체보기(129)
-
참조_NULL
NULL 이 뭐지? 참조형 변수에는 항상 참조되는 객체가 있는 주소값이 들어간다. 그.러.나. 아직 참조할 주소가 없거나, 주소를 나중에 입력하고 싶은 경우도 더러 존재한다. 예를 들어, 택배 보낼 때. 보내는 주체 - 나 보내는 물건 - 노트북 받는 주체 - 삼촌 삼촌 주소 - ? 삼촌의 주소를 몰라도 택배 배송에 필요한 정보와 행동들은 취할 수 있다. 이러한 상황에서 우리는 참조형 변수에 NULL을 넣을 수 있다. (기본형엔 null 이 안 들어가요~ 여기서 파생되는 문제도 있다는 모양이니 추후 알아봅시다아) NULL 은 참조값(주소)이 '없다' 는 뜻이다. 삼촌 주소 - NULL 예시 작성하며 이런거구나~ 해보자. public static void main(String[] args) { Data d..
2024.01.13 -
참조_변수 초기화
변수는 스코프적 관점에서 봤을 때 크게 멤버변수, 지역 변수로 나뉜다. 짚고 넘어가보자. 멤버 변수 - 클래스 바로 아래에 선언되어 클래스 어디서든 사용할 수 있는 변수 - 멤버 변수는 정적변수, 인스턴스 변수로 나뉜다.( 하지만 나중에 알아본다) 지역 변수 - 메서드나 생성자 블록 안에 선언되어 그 범위 내에서만 사용할 수 있는 변수 변수 값 초기화 멤버 변수, 지역 변수는 초기화 규칙이 다르다. .. 어떻게 다를까? 멤버 변수 - 자동 초기화 - 멤버변수는 인스턴스를 생성할 때 자동으로 초기화 된다. - 숫자 = 0 , boolean = false, 참조형 = null - 개발자가 초기값을 직접 지정할 수 있다. public class InitData { int notInitValue; // 초기화 ..
2024.01.13 -
참조_메소드
또또또또또! 질리도록 머리에 박아 넣자. 자바는 항상 변수의 값을 복사해서 대입한다. - Call By Value 동작 방식 기본형 : 변수에 있는 '값'을 복사하여 대입한다. 참조형 : 변수에 있는 '주소값'을 복사하여 대입한다. 기본형 public static void main(String[] args) { int a = 10; System.out.println("호출 전 a = " + a);// 10 changePrimitive(a); System.out.println("호출 후 a = " + a);// 10 } private static void changePrimitive(int a) { a = 5; } 함수를 호출하면서 넣은 인자 a와 메서드의 매개변수 a 는 다르다. 어떻게 다르냐? 앞서 반..
2024.01.11 -
참조_기본형과 참조형
JAVA에서 변수는 크게 기본형(primitive Type)과 참조형(Refference Type) 으로 나뉜다. 기본형 : byte, short, int, long, float, double, boolean 등 참조형 : 기본형 제외하고 전부 String이 없네? String 은 참조형으로, 사실 클래스이다. 그런데 원체 많이 사용되다 보니, 기본형처럼 사용할 수 있도록 편의를 좀 봐준다는 모양이다. 변수 대입 'JAVA 에서 값을 대입한다는 것은, 변수에 들어있는 값을 복사해서 대입하는 것이다.' 다시 한번 써보며 상기 해보자. 기본형 int a = 10; int b = a; a = 5; b = ? // 10; 1. int a 에 10을 대입하고, 2. int b에 10이 대입된 a를 대입한다. 3...
2024.01.11 -
Class_instance
인스턴스란? 특정 클래스(설계도)를 통해 생성한 객체이다. 클래스 작성 예시 public class Student { String name; int age; int score; } 사용 예시 Student student1 = new Student(); student1.name = "김어향"; student1.age = 15; student1.score = 90; 인스턴스 생성 원리 new 키워드와 생성자 메서드를 통해 새로운 인스턴스를 생성한다. 이 때, 클래스 구성 요소인 String name, int age, int score; 과 같은 필드 등을 위한 메모리가 할당된다. 그리고, 이를 관리(접근)하기 위한 주소값이 할당된다. (관리할 방법도 없는 메모리.. 만들어도 소용 없으니까! ) 그런데, 할당..
2024.01.10 -
Class_이게 뭔데
클래스. 왜 필요할까? 학생의 정보를 변수에 담에 해보자 String studentName = "김어항"; int studentAge = 15; 고민할 거리도 없이 이렇게 작성될 것이다. 두명의 학생 정보를 담으려면? String student1Name = "김어향"; int student1Age = 15; int student1Score = 90; String student2Name = "김장육"; int student2Age = 20; int student2Score = 33; 아직 무난하다. 그렇다면.. 50명 100명 1천명은 어떻게 해야 할까? 반복문으로 어떻게든 되지 않을까? ->안타깝게도 변수명이 다르기 때문에 그럴 수는 없다. 그렇다면 같은 정보들의 집합인 배열로 어떻게 되지 않을까? St..
2024.01.10