c++과 비주얼 스튜디오만 사용해보다가 자바와 이클립스를 처음 접해보기 때문에
헷갈리고 좀 불편하다고 느꼈다.
특히 자바는 class가 중요하기 때문에 c++때 얼렁뚱땅 class를 배운 나는
다시 한번 정리해야 한다고 생각했다.
public class HelloJava
{
piblic static void main(String[] args)
{
System.out.printLn("Hello World!");
}
}
가장 기본적인 Hello World! 출력문이다.
자바는 c++과 출력문이 다르게 생겨먹었다.
전체적으로 클래스 형식은
public[접근제어] class[클래스 선언] HelloJava[클래스이름]
으로 구성된다.
자바에서 참고해야 할 부분은 소스파일과 클래스 이름이다.
1. 소스 안에 public 클래스가 있다면 반드시 소스 파일의 이름은 public 클래스의 이름과 일치해야 한다.
2. 하나의 파일 안에 public 클래스가 2개 이상이면 오류가 발생한다.
3. 일반적으로 public 클래스에 main 메소드가 위치한다.
그다음 메소드 형식은
public[접근제어] static[정적메소드] void[자료형] main[메소드 이름] (String[] args)
으로 구성된다.
이제 본격적으로 클래스를 생성해볼 것이다.
먼저 객체에 대해 알아보겠다.
객체는 상태(state)와 행동(behavior)로 정의할 수 있다.
고양이를 객체로 생각한다면
#상태#
고양이 나이
고양이 이름
고양이 종류
#동작#
야옹하기
잠자기
밥 먹기
이걸 필드(field)와 메소드(method)로 나타내면
#필드#
int CatAge;
String CatName;
String CatType;
#메소드#
Meow()
Sleep()
Eat()
으로 나타낼 수 있다.
위를 바탕으로 Cat 클래스를 만들어보자.
public class Cat
{
int CatAge;
String CatName;
String CatType;
}
이제 CatTest 클래스를 만들어보자.
public class CatTest {
public static void main(String[] args) {
Cat cat = new Cat();
cat.CatAge = 2;
cat.CatName = "나비";
cat.CatType = "시고르자브종";
System.out.println("고양이의 나이는 "+cat.CatAge+"살이고,
이름은 "+cat.CatName+"이고, 종류는 "+cat.CatType+"입니다.");
}
}
출력해보면 이렇게 나온다.
객체 cat를 생성해 나이, 이름, 종류를 설정해주었다.
객체를 생성하는 형식은
Cat[클래스] cat[객체 이름] = new[동적메모리] Cat[클래스]();
으로 구성된다.
객체 멤버에 접근하는 형식은
cat[객체].CatAge[필드] = 2;
으로 구성된다.
객체는 여러 개 생성될 수 있다. 만들어진 객체들은 데이터가 완전히 분리된다.
자바에서는 변수를 기초 변수(primitive variable)와 참조 변수(reference variable)로 나눌 수 있다.
기초 변수는 int, float, double, boolean 등의 기초 자료형의 실제 데이터 값을 저장하는 변수이다.
참조 변수는 객체, 배열, 문자열, 클래스, 인터페이스 등 객체의 참조값이 저장되는 변수이다.
참조 변수를 쉽게 설명하자면 객체로 가는 주소, 화살표가 저장된다 생각하면 된다.
이후 더 정리해야 할 클래스 개념이 많지만 오늘은 여기까지 정리하겠다.
이 블로그를 만든 이유는 내가 공부하려고 만든것이기에
잘못된 부분에 대한 지적과 반박은 자유이다.
이 블로그는 블로그 주인이 글을 자주 쓰기를 바라며
망하지 않기 바란다.
'자바학점을 자바줘 (JAVA)' 카테고리의 다른 글
[자바] 람다식, 패키지 (0) | 2022.04.24 |
---|---|
[자바] 인터페이스 (0) | 2022.04.24 |
[자바] 상속 (0) | 2022.04.21 |
[자바] 클래스와 메소드 심화 개념 (1) | 2022.04.21 |
[자바] String 클래스 개념 (0) | 2022.04.07 |