반응형

JAVA/소설같은자바 59

클래스와 데이터 타입의 관계

□ 데이터 타입, 변수, 상수의 관계 ◇ 데이터 타입 : 무존재(無存在) ◇ 변수 : 존재(存在) ◇ 상수 : 실존(實存) □ 구조체와 클래스의 위치 ◇ 데이터 타입 윗부분에 구조체와 클래스가 위치한다. □ 구조체와 클래스의 역할 ◇ 구조체와 클래스는 둘 다 데이터 타입 생성기이다. □ 데이터 타입, 변수, 상수의 관계 ◇ 클래스, 구조체 : 무(無) ◇ 데이터 타입 : 무존재(無存在) ◇ 변수 : 존재(存在) ◇ 상수 : 실존(實存)

사용자 정의 데이터 타입 테스트

□ 자바 코드의 파일명과 확장자 ◇ 클래스의 이름과 파일명은 동일하다. ◇ 소스 파일은 .java 확장자를 사용한다. □ 클래스 파일 ◇ 코드를 컴파일하면 클래스명과 동일한 .class 파일이 생성된다. ◇ 즉 컴파일된 결과 파일은 .class 확장자가 붙는다. ◇ main()을 포함한 클래스가 실행 클래스가 된다. 1 2 3 4 5 6 7 8 /** Person 클래스 - 새로운 사용자 정의 데이터 타입 **/ public class Person { public int age; public float height; public float weight; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 /** Person 클래스를 테스트하는 예 **/ public class PersonMai..

메모리 생성 연산자

□ 구조체의 선언과 메모리 생성 1 2 Person brother; Person sister; □ 클래스의 선언과 메모리 생성 1 2 Person brother = new Person(); Person sister = new Person(); □ 구조체의 메모리 생성 ◇ 구조체는 변수의 선언과 동시에 메모리가 생성된다. □ 기본 데이터 타입의 메모리 생성 ◇ 기본 데이터 타입은 변수의 선언과 동시에 메모리가 생성된다. □ 클래스 변수의 메모리 생성 ◇ 클래스로 변수만 선언했을 때 메모리가 생성되지 않는다. ◇ 메모리를 생성하기 위해서는 반드시 new와 생성자를 함께 사용해야 한다.

클래스의 사용

□ 자바의 변수 선언 1 Person brother; □ 클래스 변수의 특징 ◇ 클래스로 변수를 선언해도 메모리가 생성되지 않는다. ◇ 클래스는 변수를 선언한 후 별도의 메모리 생성 과정을 거쳐야 한다. □ 클래스 변수의 선언과 메모리 할당의 분리 1 2 Person brother; //변수의 선언 brother = new Person(); //메모리의 생성 □ 클래스 변수의 선언과 메모리 할당을 동시에 1 Person brother = new Person(); □ 클래스 변수의 선언과 값 할당 1 2 3 4 5 6 7 8 9 Person brother = new Person(); brother.age = 20; brother.height = 170.0F; brother.weight = 67.5F; Pe..

클래스 만들기

1 2 3 4 5 6 7 8 /** Person 클래스 - 새로운 사용자 정의 데이터 타입 **/ public class Person { public int age; public float height; public float weight; } 1 2 3 4 5 6 7 8 /** Person 구조체 선언 - C언어 **/ struct Person { int age; float height; float weight; } □ Person 클래스의 분석 ◇ class : 클래스를 선언하는 키워드 ◇ Person : 새로운 데이터 타입의 이름 ◇ age : 데이터 타입 내의 멤버 ◇ height : 데이터 타입 내의 멤버 ◇ weight : 데이터 타입 내의 멤버 □ 구조체와 클래스 ◇ public을 모두 제거..

클래스로 가는 길목

□ 질문 ◇ 왜 이렇게 구조체의 의미를 상세히 다루는 것일까? □ 구조체가 중요한 이유 ◇ 구조체가 클래스의 할아버지뻘 정도 되기 때문이다. ◇ 구조체는 클래스의 기본 개념을 포함하고 있다. ◇ 구조체를 제대로 안다면 자바의 클래스를 쉽게 이해할 수 있다. □ 클래스가 없던 시절 ◇ 구조체와 메서드가 클래스의 모든 작업을 대행하였다.

구조체의 사용

□ Person 구조체 1 2 3 4 5 struct Person{ int age; float height; float weight; }; □ 구조체 변수의 선언 1 2 struct Person sister; // C 언어 방식의 구조체 선언 변수 Person brother; // C++ 언어 방식의 구조체 선언 변수 □ 구조체의 값 할당 1 2 3 4 5 6 7 8 9 Person sister; sister.age = 15; sister.height = 165.3F; sister.weight = 51.0F; Person brother; brother.age = 20; brother.height = 170.0F; brother.weight = 67.5F;

구조체 만들기

□ C 언어에서의 Person 구조체 선언 1 2 3 4 5 struct Person{ int age; float height; float weight; }; □ Person 구조체의 분석 ◇ struct : 구조체를 만드는 키워드 ◇ Person : 구조체로 만들어진 새로운 데이터 타입 ◇ int age : Person 내부의 멤버 ◇ float height : Person 내부의 멤버 ◇ float weight : Person 내부의 멤버 □ 구조체란? ◇ 기본 데이터 타입의 한계를 극복하기 위해서 C 언어에서 제공되는 데이터 타입 생성기 □ 구조체로 만든 사용자 정의 데이터 타입 ◇ 구조체로 만든 사용자 정의 데이터 타입 Person은 메모리의 크기와 형태를 지정하는 데이터 타입이다. □ Perso..

기본 데이터 타입의 한계

□ 기본 데이터 타입의 한계 ◇ 기본 데이터 타입으로 변수를 생성했을 때 생성된 변수에는 하나의 데이터만 보관할 수 있다. ◇ 정해진 데이터 타입만을 사용해야 한다. □ 기본 데이터 타입 변수에 여러 번 값할당 1 2 3 int s = 100; s = 200; s = 300; □ 구조체(C 또는 C++에서 사용) ◇ 동시에 여러 개의 데이터를 담을 수 있는 데이터 타입을 사용자가 직접 만들어서 사용하는 사용자 정의 데이터 타입 □ 클래스 ◇ 자바에서는 구조체가 발전해서 클래스가 된다.

반응형