객체 지향 언어
객체와 클래스
객체 지향 언어
● 이름을 바로 잡는 일이다. 곧 대상 사물의 의미를 정확히 나타낼 수 있는 바른 이름(정명론) class와 object에 의미
클래스 - 객체를 만들기 전에 설계도면
● TIP. 객체란 : 현실 세계에 존재하는 모든 것 또는 현실 세계에 존재할 수 있는것.
● TIP. 클래스란 : 클래스를 통해서 메모리에 올라간 부분을 우리는 그 때 객체라고 부른다. = " 인스턴스 " 화 라고도 한다.
● TIP. class : 객체를 만들기 전에 속성(상태)와 기능을 설계하는 도면
● TIP. object : 실제 메모리에 올라간 존재 = 프로그램 세상에 존재하게 됨
● TIP. 객체를 설계할 때 클래스 안에 정의하는 변수는 : 멤버 변수 main, 함수 안에서 사용하는 변수는 : 지역 변수
// 객체지향언어_예제1.Student 클래스 설계
package ch01;
// 클래스를 설계 할 때 이름을 잘 짓는 것이 중요하다.
// Student class 설계 도면
public class Student {
// 속성
int age;
double weight;
// 문자열이라는 데이터 타입이다.
String name;}
// end of class
// 객체지향언어_예제1. Student 객체(속성) 설계
package ch01;
public class MainTest1 {
public static void main(String[] args) {
// Student kim;
Student hong; // 변수에 선언
hong = new Student(); // 변수에 초기화
hong.age = 10; // 한 번에 선언과 초기화를 같이 진행
// 화면에 hong age 값을 출력하시오.
System.out.println(hong.age);
System.out.println("학생 hong 나이 : " + hong.age);
} // end of main
} // end of class
Console 보기
10
학생 hong 나이 : 10
// 객체지향언어_예제2. Warrior 클래스 설계
package ch01;
public class Warrior {
// 멤버 변수 지역
// 게임 상태에서 전사에 대한 속성 작성해보기.
// 속성(상태)
int damage; // 초기 값을 고정 할 수도 있고(객체) 이름만 생성도 가능하다.
String name;
String color;
double height;
// 기능은 이후 작업
} // end of class
// 객체지향언어_예제2. Warrior 객체(속성) 설계
package ch01;
public class MainTest2 {
public static void main(String[] args) {
//메인 함수 안에 선언하는 변수는 지역 변수 지역이다.
Warrior w1; // 변수에 선언(메모리만 할당 중) --> 데이터: 참조 타입
// new 클래스 키워드를 만나면 메모리에 올려준다.
// 메모리에 올라가면 프로그램 세상에 존재하게 된다.
w1 = new Warrior();
w1.name = "작은 오크";
w1.color = "초록색";
w1.height = 50;
w1.damage = 100;
Warrior w2;
w2 = new Warrior();
w2.name ="큰 오크";
w2.color = "초록색";
w2.height = 50;
w2.damage = 100;
} // end of main
} // end of class
// 객체지향언어_예제3. User 클래스 설계
package ch01;
public class User {
// 이름
// 나이
// 전화번호
// 주소
String name;
int age;
String tel;
String address;
} // end of class
//객체지향언어_예제3. User 객체(속성) 설계
package ch01;
public class MainTest3 {
// 메인 함수
public static void main(String[] args) {
// 메인 함수 안에 선언하는 변수는 지역 변수 지역이다.
// 대문자 - 참조 타입
// User Kim = new User(); // 변수에 선언과 동시에 초기화
// User Lee = new User(); // 변수에 선언과 동시에 초기화
} // end of main
} // end of class
// 객체지향언어_예제4. Warrior 클래스 설계
package ch01;
public class Archer {
// 이름
// 힘
// 민첩성
// 레벨
String name;
double power;
double quickness;
double level;
} // end of class
// 객체지향언어_예제4. Archer 객체(속성) 설계
package ch01;
public class ArcherMainTest {
public static void main(String[] args) {
// 메인 함수 안에 선언하는 변수는 지역 변수 지역이다.
Archer archer1;
Archer archer2;
archer1 = new Archer();
archer2 = new Archer();
archer1.name = "궁수1";
archer1.power = 50;
archer1.quickness = 50;
archer1.level = 50;
archer2.name = "궁수2";
archer2.power = 50;
archer2.quickness = 50;
archer2.level = 50;
} // end of main
} // end of class
'Java' 카테고리의 다른 글
[java] 인스턴스화 생성과 힙 메모리 (0) | 2023.07.31 |
---|---|
[java] 함수와 메서드 (0) | 2023.07.28 |
[java] 제어 문(조건문 & 반복문)_반복 문(Break 문, Continue 문) (0) | 2023.07.27 |
[java] 제어 문_반복 문 (0) | 2023.07.26 |
[java] 제어 문_조건 문 (0) | 2023.07.26 |