Java

[Java] 클래스와 객체(2)

블로그 주인장 2023. 8. 8.

 

 

목차


    📢 오버로딩

    • 하나의 클래스 내에서 같은 이름을 가진 메소드가 있는 것

    🔊 오버로딩의 조건

    • 메소드의 이름이 같아야함
    • 매개변수의 개수 또는 타입이 달라야함(리턴 타입의 차이로는 오버로딩이 진행되지 않는다.)
    class Car {
        String name;
        String type;
    
        Car(String name, String type) {
            this.name = name;
            this.type = type;
        }
    
        public void printCarInfo() {
            System.out.println("=== Car Info ===");
            System.out.println("name: " + name);
            System.out.println("type: " + type);
        }
    
        // 오버로딩 구현
        public void printCarInfo(String date){
            this.printCarInfo();
            System.out.println("date = " + date);
        }
        public void printCarInfo(int num){
            this.printCarInfo();
            System.out.println("num = " + num);
        }
        public void printCarInfo(String date, int num){
            this.printCarInfo();
            System.out.println("date = " + date);
            System.out.println("num = " + num);
        }
    }

    📢 접근제어자

    • 클래스의 변수나 메소드의 접근에 제한을 두는 키워드이다.

    🔊 접근제어자 종류

    • private : 해당 클래스에서만 접근
    • public : 어디서든 접근 가능
    • default : 해당 패키지 내에서만 접근 가능
    • protected : 해당 패키지 및 상속 받은 클래스에서 접근 가능
    package car;
    
    public class Car2 {
        public String name1;
        public String name2;
        public String name3;
        public String name4;
    
        public Car2(String name1,String name2,String name3,String name4){
            this.name1 = name1;
            this.name2 = name2;
            this.name3 = name3;
            this.name4 = name4;
        }
    }
    

    🔊 Package

    • 비슷한 성격의 클래스를 모아 놓은 자바의 디렉터리이다.
    • src 디렉터리 -> New -> Package -> New Package명 설정
    • New Package -> New -> Java Class 생성

    🔊 Sub Package

    • 기본 패키지 안에 존재하는 하위 패키지이다.
    • 생성한 패키지 -> New -> New Package -> 패키지.Name(하위패키지 설정 시 "." 이용해서 사용한다)

    🔉 Package 사용하기

    • 패키지 사용 시에는 import를 사용해야한다.
    • import Package.*; 기호를 사용하여 패키지 내에 모든 클래스를 사용하게 만든다.

    📢 Static

    • 변수나 메소드의 특성을 바꾸는 키워드\

    🔊 Static의 특징

    • 메모리에 한 번만 할당이 된다.
    • Static의 변수나 메소드는 공유된다.

    🔊 Static의 종류

    • Static 클래스 변수 : 해당 클래스의 각 객체들의 값을 서로 공유
    • Static 클래스 메소드 : 객체를 생성하지 않아도 호출이 가능하다.
    class Car3 {
        // 스태틱 변수
        static String name = "Null";
    
        // 스태틱 메소드
        static void getName(){
            System.out.println("Car name :" + name);
        }
    }

     

    반응형

    'Java' 카테고리의 다른 글

    [Java] 상속과 오버라이딩  (0) 2023.08.08
    [Java] 클래스와 객체(1)  (0) 2023.08.08
    [Java] 컬렉션 프레임워크  (0) 2023.08.07

    댓글