JAVA
선언위치 변수 종류
선언위치 변수 종류
2022.03.25선언위치에 따른 변수의 종류 지금까지는 변수의 type에 대해서만 이야기 했는데, 이번에는 변수의 종류에 대해서 공부해 보도록 하자. 변수의 종류는, 어디에 선언했냐에 따라서, 즉, 선언 위치에 따라서 종류가 3가지로 나뉜다 iv (인스턴스 변수 instance variable) cv (클래스 변수 class variable, (static + iv)) lv (지역 변수 local variable) 일단, 클래스안에는 영역이 2가지가 있다. 1. 클래스 영역 2. 메서드 영역 이때, 클래스 영역에 선언된 변수는 iv (인스턴스 변수 - instance variable), cv(static + iv) 매서드 영역에 선언된 변수는 lv (지역 변수 - local variable) 만약에 cv앞에 static..
클래스의 정의
클래스의 정의
2022.03.24이전에 공부하며, 클래스는 설계도의 관점으로 이해했다. 하지만 클래스는 여러 관점으로 볼 수 있다. 설계도 데이터 + 함수 사용자 정의 타입 이렇게 다른 관점으로 보면, 설계도 이외에도 데이터 + 함수, 혹은 사용자 정의 타입 이라고 할 수 있다. 설계도에 대한 것은 앞서 공부했고, 이번에는 두번째 관점인 클래스는 데이터와 함수의 결합이다. 라는 관점을 알아보도록 하겠다. 클래스의 정의(1) 클래스 == 데이터 + 함수 데이터 저장공간의 발전 과정을 보면, 1. 변수 - 하나의 데이터를 저장할 수 있는 공간 2. 배열 - 같은 종류의 여러 데이터를 하나로 저장할 수 있는 공간 3. 구조체 - 서로 관련된 여러 데이터(종류 관계X)를 하나로 저장할 수 있는 공간 4. 클래스 - 데이터와 함수의 결합(구조..
객체 배열
객체 배열
2022.03.24객체 배열 객체 배열 == 참조변수 배열 예를 들어서 Tv타입의 참조변수 tv1, tv2 tv3가 있을 때, 이것을 배열로 바꾸면 오른쪽과 같이 Tv[] tvArr = newTv[3];이 된다. Tv[] tvArr = new Tv[3];// 길이가 3인 Tv타입의 참조변수 배열 참조변수 3개를 붙여놓은 것이다. 참조변수의 기본값은 null이므로 null로 자동초기화가 된 상태이다. //객체를 생성해서 배열의 각 요소에 저장 tvArr[0] = new Tv(); tvArr[1] = new Tv(); tvArr[2] = new Tv(); 객체의 배열은, 객체를 담기위한 것이므로, 위의 코드와 같이 객체를 생성해서 각 참조변수에 저장하면 된다. 객체 배열을 만들고, 객체 생성을 해주어야 한다. 객체 배열을 만..
객체의 생성과 사용
객체의 생성과 사용
2022.03.24객체의 생성과 사용 1. 객체의 생성 클래스명 변수명;// 클래스의 객체를 참조하기 위한 참조변수를 선언 변수명 = new 클래스명();// 클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장 Tv t;// Tv클래스 타입의 참조변수 t를 선언 t = new Tv();// Tv인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 t에 저장 Tv클래스 타입의 참조변수 t를 선언해서 객체를 다룰 참조변수를 선언한다. 그리고 해당 참조변수 t에 Tv클래스의 인스턴스를 생성한 후, 생성된 Tv인스턴스의 주소를 참조변수t에 저장한다. 2. 객체의 사용 t.channel = 7;// Tv인스턴스의 멤버변수 channel의 값을 7로 한다. t.channelDown();// Tv인스턴스의 메서드 channelDo..
하나의 파일에 여러 클래스 작성하기
하나의 파일에 여러 클래스 작성하기
2022.03.24하나의 소스파일에 여러 클래스 작성 일반적으로는 하나의 소스파일에 클래스가 1:1로 하나의 클래스만 작성하는 것이 일반적인데, 예제에 보면 어쩔 수 없이 한 소스파일에 2개이상의 클래스가 들어갈 때가 있다. 그부분에 대한 설명이다. [올바른 작성 예] Hello2.java라는 1개의 소스파일이 있을 때, 그 소스파일에 위와 같이 2개의 클래스를 넣을 수 있다.(Hello2{}, Hello3{}) 기본적으로는, 소스파일의 파일명과, 클래스명이 일치해야 한다. 근데 위의 예시처럼 하나의 소스파일에 여러개의 클래스가 있는 경우에는 어떻게 해야할까? 소스코드에 public클래스가 있는 경우 소스파일명과 public 클래스명과 일치해야 한다. 소스코드에 public 클래스가 없는 경우 소스파일의 이름은 퍼블릭이붙..
클래스와 객체
클래스와 객체
2022.03.24클래스와 객체 클래스의 정의 - 클래스란 객체를 정의해 놓은 것 클래스의 용도 - 클래스는 객체를 생성하는데 사용 객체를 정의한다는 것은, "어떤 객체가 이러이러하다"라고 설명해 놓는 것이다. 클래스의 용도는 객체를 생성하는데 사용한다. 객체의 정의 - 실제로 존재하는 것. 사물 또는 개념 객체체의 용도 - 객체가 가지고 있는기능과 속성에 따라 다름 간단히 말해서, 클래스는 제품 설계도와 같고, 객체는 제품과 같다고 생각하면 된다. TV설계도를 예로 들면, TV설계도가 필요한 이유는, TV라는 객체를 만들기위함이다. TV는 왜만드는걸까? 우리가 사용하려고 만든다. 그리고, TV설계도를 한번 만들어 놓으면 제품인 TV를 쉽게 만들 수 있다. 즉, TV를 만드려면 먼저, TV설계도를 만들고, 설계도로부터 ..