관리 메뉴

IT journey

4일차 자바의 클래스 본문

끄적끄적/JAVA

4일차 자바의 클래스

step 2021. 7. 1. 22:09
728x90
반응형

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :)

★ 꼭 !! 지켜야 할 사항 

아래에 있는 1일차,2일차,3일차 내용을 우선적으로 보고 오세요.

1일차

 

1일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1.1 컴퓨터 1. 종류 데스크탑(Desktop), 노트북(Laptop), 핸드폰(Smart Phone), 테블릿입니다. 2. 구조 입출력 장치(모니터, 키보드, 마우

step-journey.tistory.com

2일차

 

2일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ★ 꼭 !! 지켜야 할 사항 ★ 1일차 내용을 우선적으로 보고 오세요. 1일차 1일차 직접 내용 정리하고 만든 예이니 퍼가실 때는

step-journey.tistory.com

3일차

 

3일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ★ 꼭 !! 지켜야 할 사항 ★ 아래에 있는 1일차,2일차 내용을 우선적으로 보고 오세요. 1일차 1일차 직접 내용 정리하고 만든

step-journey.tistory.com

728x90

1. 자바의 클래스

$1.1 종류

○ 일반 클래스

class 클래스이름 {
}

[일반 클래스 관련 예]

1. Dclass.java 를 만들 수 있습니다.

1일차 내용 중 자파 파일 만들기처럼 만듭니다.
이 때의 파일 이름은 Dclass.java로, 파일 형식은 All Files로 변경한 뒤 저장해줍니다.

 

1일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1.1 컴퓨터 1. 종류 데스크탑(Desktop), 노트북(Laptop), 핸드폰(Smart Phone), 테블릿입니다. 2. 구조 입출력 장치(모니터, 키보드, 마우

step-journey.tistory.com

2. 아래 코드를 입력합니다.

package d.e.f.g;

public class Dclass{

	// main 함수 (이는, 함수 블럭으로 로직을 만드는 공간으로 이것으로 변수와 함수를 구별)
    public static void main(String[] args){
    
    }//main 함수 끝나는 구간
}// Dclass 클래스 끝나는 구간

class Eclass
{
	// Eclass 클래스에 있는 int형 en 변수
    int en;
    // Eclass 클래스에 있는 e 함수
    public void e(){}
}// Eclass 클래스 끝나는 구간

class Fclass
{
    int fn;
    public void f(){}
}// Eclass 클래스 끝나는 구간

3. 실행을 cmd 창에 해보겠습니다.

1일차, 2일차에서 쓴 내용을 참고하여 cmd 창을 열고 파일이 저장되어있는 경로로 이동해주세요.

 

1일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1.1 컴퓨터 1. 종류 데스크탑(Desktop), 노트북(Laptop), 핸드폰(Smart Phone), 테블릿입니다. 2. 구조 입출력 장치(모니터, 키보드, 마우

step-journey.tistory.com

 

2일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) ★ 꼭 !! 지켜야 할 사항 ★ 1일차 내용을 우선적으로 보고 오세요. 1일차 1일차 직접 내용 정리하고 만든 예이니 퍼가실 때는

step-journey.tistory.com

더보기

javac -d . Dclass.java

java d.e.f.g.Dclass

※ 참고로, 아래 코드도 있어 한번에 컴파일을 하고 싶을 때는 어떻게 해야할지 알아보겠습니다.

1일차 내용 중 자파 파일 만들기처럼 만듭니다.
이 때의 파일 이름은 Aclass.java로, 파일 형식은 All Files로 변경한 뒤 저장해줍니다.

 

1일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1.1 컴퓨터 1. 종류 데스크탑(Desktop), 노트북(Laptop), 핸드폰(Smart Phone), 테블릿입니다. 2. 구조 입출력 장치(모니터, 키보드, 마우

step-journey.tistory.com

package d.e.f.g.h;

public class Aclass{
	int an;
    public void a(){}
}

class Bclass{
	int bn;
    public void b(){}
}

class Cclass{
	int cn;
    public void c(){}
}

② 실행을 cmd 창에 해보겠습니다.

javac -d . Dclass.java Aclass.java

java d.e.f.g.Dclass

○ 인터페이스 클래스

interface 클래스이름 {
}

○ 추상 클래스

abstract class 클래스이름 {
}

○ 파이날 클래스

final class 클래스 이름 {
}

$1.2 구성원

[변수]+[함수]+[클래스] = 클래스 = 자원(resource) 

자바에서는 클래서의 자원을 이용합니다.

○ 변수

(1) 멤버변수

클래스 블럭 안에서, 클래스 안에 있는 함수 밖에서 변수 선언합니다.

(2) 지역변수

변수 선언을 함수 안에서 하는 것입니다.

(3) 클래스변수

멤버변수에 static 키워드를 선언하는 것을 말합니다.

 

※ 참고로, main() 함수를 기준으로 위에 있는 변수는 멤버변수, 아래에 있는 것은 지역변수입니다.변수를 쓰는 이유는 데이터를 담기 위해서입니다.변수를 호출할 때는 변수명을 사용합니다.같은 블록에 동일한 변수가 있다면 에러를 내보냅니다.

○ 함수(function)

(1) 메소드(method)라 부르기도 합니다.

(2) 함수를 쓸 때는 아래와 같은 형식으로 씁니다.

리턴형 함수이름([매개변수가 들어오는 공간])

[접근제한자] [수정자] 리턴형 함수이름([매개변수가 들어오는 공간){

    함수 블럭에 로직 만들기;

    [return];

}

① 접근 제한자 (Access Modifier) 

public : 클래스, 변수, 함수에서 사용이 가능합니다. 이 public은 패키지를 넘나들면서 사용이 가능합니다.

protected : 다른 패키지에서 상속 관계에 있을 때 사용합니다.

default : 클래스, 변수, 함수에서 사용이 가능합니다. 이 default는 같은 패키지 내에서 *.java 파일에서만 사용이 가능합니다. 참고로, 아무것도 안 쓰면 default로 잡힙니다.

private : 변수에만 사용합니다. 이 private는 클래스 내부에서만 사용이 가능합니다.

② 수정자

static : 클래스 , 변수, 함수에서 사용이 가능합니다. 이 static은 해당 하는 자원을 메모리에 올립니다.

final : 클래스, 변수, 함수에서 사용 가능합니다. 이 final은 해당 하는 자원을 변경하지 마세요.

③ 리턴형

void는 return 키워드를 사용할 수 없습니다. 즉, 리턴 값이 없습니다.

자료 데이터 타입(자료형)

자료형은 크게 기초 자료형과 참조 자료형이 있습니다.

기초 자료형에는 숫자, 문자, 논리가 있습니다.

숫자에는 정수(byte,short,int,long)와 실수(float, double)이 있습니다.

정수의 디폴트값은 0, 실수의 디폴트값은 0.0 입니다.

문자에는 문자(char),문자열(string) 이 있습니다.

문자는 char로 ''(빈문자,싱글 퀘테이션), '\u0000'입니다.

문자열은 String으로 이것은 참조 자료형입니다.

논리(boolean)에는 ture와 false 값이 있습니다. 디폴트 값은 false입니다.

참조 자료형에는 Object(디폴트 값, null(값이 없는 것))과 빌트인 클래인 API(예로, Array, interface ...)와 사용자 정의 클래스가 있습니다.

※ 참고로, 아래 그림처럼 리턴이 있는 함수와 리턴이 없는 함수가 있습니다.

리턴이 있는 함수를 쓸 때는 public 리턴형 함수이름(매개변수) 를 이용하고

리턴이 없는 함수를 쓸 때는 public void 함수이름(매개변수) 를 이용합니다.

(3) 함수이름은 식별자 입니다.

매개변수는 매개변수가 있어도 되고 없어도 됩니다. 이는 데이터 타입 선언, 변수명 선언, 데이터 타입 선언, 변수명 선언,... 으로 쓰입니다. 매개변수는 데이터 타입과 순서를 지켜야 합니다.

아래와 같이 함수를 정의한 것이 있다면, 이 때의 매개변수(parameter, 파라미터)는 int a와 int b입니다.

int sum(int a,int b){
//return 값이 있는 것이 기본 값이며 return 값이 있는 것도 있고 없는 것도 있습니다.
	return a+b; .
}

이 함수를 sum(10,20);로 호출하게 되면 인자(절대인자 argument, 아규먼트)는 10과 20입니다.

※ 참고로, 식별자(identifier)은 개발자가 자바 소스코드를 구성하면서 맘대로 쓸 수 있는 것입니다.

사용자 정의 클래스 이름의 첫번째 글자는 꼭 대문자를,

변수 이름의 첫 번째 글자는 꼭 소문자를,

함수 이름의 첫 번째 글자는 꼭 소문자를,

패키지명은 전체를 소문자를 씁니다.

식별자는 자바 1.1 버전이후로 UTF-16 되면서 한글을 인식하긴 하지만 한글보다는 영어를 주로 씁니다.

그리고 숫자로 시작하지 않습니다.

식별자를 쓸 때 어떤 역할을 하는지 한 번에 알 수 있도록 만드는 것이 중요하며 길이는 적당해야 합니다.

식별자에 대한 규칙을 네이밍 컨벤션이라고 합니다.


위에서 배운 내용 정리

클래스 = [변수]+[함수]+[클래스] = 자원(Resoruce)

클래스 안에는 키워드(예약어), 기호, 연산자, 식별자(identifier), 사용자 정의 클래스, 빌트인 클래인(API)가 있습니다.

※ 참고로, API 는 라이브러리 = (라이브러리 안에는) 클래스 = 내장되어있는 빌트인 클래스라고도 부릅니다. 예) java.lang.System는 빌트인 시스템 클래스 = 시스템


new 라는 키워드를 이용하여 메모리에 올려보겠습니다.

1일차 내용 중 자파 파일 만들기처럼 만듭니다.
이 때의 파일 이름은 Zoo.java로, 파일 형식은 All Files로 변경한 뒤 저장해줍니다.

 

1일차

직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :) 1.1 컴퓨터 1. 종류 데스크탑(Desktop), 노트북(Laptop), 핸드폰(Smart Phone), 테블릿입니다. 2. 구조 입출력 장치(모니터, 키보드, 마우

step-journey.tistory.com

package c.d.f.zoo;

public class Zoo{

    // 멤버 변수
    public String animal;
    public String feed;
    
    // 생성자
    public Zoo(String feed){
    	this.feed = feed;
    }
    
    public static void main(String args[]){
    
        Zoo monkey = new Zoo("바나나 먹기");
        System.out.println("원숭이.feed =>"+monkey.feed);
        
        Zoo Hippo = new Zoo("풀 먹기");
        System.out.println("하마.feed =>"+Hippo.feed);
    }
}

cmd 창에서 실행 하기

더보기

javac -d . Zoo.java
java c.d.f.zoo.Zoo

 

728x90
반응형
Comments