본문 바로가기
프로그래밍 언어/JAVA

[JAVA] 클래스 & 패키지

by E145 2021. 1. 20.
반응형

클래스

 

클래스의 생성


 - 클래스는 틀이고, 객체는 실체이다. 클래스를 바탕으로 실체를 만들면 객체가 된다.

 

 - 클래스의 변수나 메소드는 메모리 공간에 할당되어 있지 않지만, 객체의 변수나 메소드는 메모리 공간에 할당된다.

 

 - 객체 생성 방법 : new 키워드를 이용한다. (Ex. Fruit buyer = new Fruit)

 

 - 생성된 객체는 인스턴스(Instance)라고 부르고, 객체를 생성하는 행위를 인스턴스화(Instantitaion)라고 한다.

 

 - 객체가 생성되면 해당 메모리 주소 값이 참조 변수에 저장된다. 참조 변수에 의해서 객체에 접근이 가능하다.

 

 - 객체가 생생될 경우, 멤버 변수에 값이 할당되어 있지 않았다면, 자동으로 기본 값으로 초기화 된다.

 

 - 클래스 선언 시 접근 제한자는 public과 default(생략)만 가능하다.

 

 - 클래스의 구성 요소는 필드, 메서드, 생성자로 이루어 진다.

 

public class test {
    public static void main(String[] args){

        Fruit f = new Fruit("Melon");

        f.FruitName();
    }
}

public class Fruit{
    private String Name;

    public  Fruit(String n){
        Name=n;
    }

    public  void FruitName(){
        System.out.println("Fruit Name is "+Name);
    }

}



 

클래스 구성 요소 - 필드

 

 - 필드는 클래스 내 멤버 변수를 의미한다.

 

 - 필드 구성 요소에는 클래스 변수(static variable), 인스턴스 변수(Instance Variable), 지역 변수(Local Variable)가 있다.

 

 - 클래스 변수 : static 변수라고 하며, 인스턴스를 생성하지 않고, 클래스 공통으로 가지고 있는 변수. 

 

[JAVA] 정적 메소드(Static Method) & 정적 변수(Static Variable)

정적 메소드(Static Method) == 클래수 메소드 정적 메소드의 특징  - 인스턴스가 필요하지 않는 메소드  - static 키워드를 이용하여 메소드를 선언한다.  - 클래스명을 사용하여 정적 메소드를 호출

9327144.tistory.com

 - 인스턴스 변수 : 객체 인스턴스를 생성한 후 사용할 수 있는 변수. 인스턴스마다 독립적으로 존재한다.

                        별도의 초기화를 하지 않으면, 객체 생성 시 기본값으로 초기화 된다.

 

 - 지역 변수 : 생성자, 메소드 내에서 사용되는 변수. 생성자, 메소드가 끝난 후 소멸된다.

 


 

클래스 구성 요소 - 메소드

 

 - 클래스에서 메소드는 클래스 메소드(Static Method), 인스턴스 메소드(Instance Method)가 있다.

 

 - 클래스 메소드는 static메소드로 인스턴스를 생성하지 않고 사용할 수 있다.

 

[JAVA] 정적 메소드(Static Method) & 정적 변수(Static Variable)

정적 메소드(Static Method) == 클래수 메소드 정적 메소드의 특징  - 인스턴스가 필요하지 않는 메소드  - static 키워드를 이용하여 메소드를 선언한다.  - 클래스명을 사용하여 정적 메소드를 호출

9327144.tistory.com

 

 - 인스턴스 메소드는 인스턴스 생성 후 사용할 수 있다.

   필드 읽기, 수정, 객체 간 데이터 전달 등 다양한 기능을 수행한다.

 


 

클래스 구성 요소 - 생성자

 

 - 클래스 생성 시 생성자가 호출된다.

 

 - 필드의 초기화 부분을 일반적으로 생성자에서 실행한다.

 

 

[JAVA] 객체의 생성, 생성자

객체의 생성 생성자란?  - 객체를 생성할 때 호출하는 메소드  - 생성자를 호출할 때에는 반드시 new 키워드를 앞에 붙여준다. 생성자의 특징  - 생성자는 클래스와 이름이 같다.  (메소드의 이

9327144.tistory.com

 

 

 

패키지

 

패키지란?

 

 - 패키지는 단순히 디렉토리를 나누는 개념이 아니다.

 

 - 패키지는 소스파일에 별도의 선언을 통해서 만들어진다.

 

 - package 키워드를 이용하여 클래스를 패키지에 묶는다.

 

package Mart;

public class Fruit{
    private String Name;

    public  Fruit(String n){
        Name=n;
    }

    public  void FruitName(){
        System.out.println("Fruit Name is "+Name);
    }

}

 


 

패키지 사용

 

 - import 키워드를 이용하여 패키지에 선언된 클래스를 패키지 부분을 생략하여 간편하게 사용할 수 있다.

 

 - *를 이용하여, 하나의 패키지 안에 있는 여러 클래스들을 한 번의 import 선언을 통해서 사용할 수 있다

 

 - 패키지를 import한 경우 해당 패키지만 접근이 가능하고, 하위 패키지는 접근이 불가능하다.

   ex. import test.t1.*; 를 선언해도, test.t1.t2.t3는 접근이 불가능하다. 따로 import가 필요하다.

 

public class test {
    public static void main(String[] args){
		//패키지.클래스 형태로 선언이 필요하다.
        Mart.Fruit f = new Mart.Fruit("Melon");

        f.FruitName();
    }
}

 

import Mart.*;

public class test {
    public static void main(String[] args){
		// import 키워드를 이용하여 패키지선언 부분을 생략할 수 있다.
        Fruit f = new Fruit("Melon");

        f.FruitName();
    }
}

 

 

 

 

 

 

반응형

댓글