본문 바로가기
개발/Java

[Java] 1주차 - Class , 패키지, 상속, 오버라이드 개념 /*수정중*/

by m_.9m 2022. 10. 28.

[*] Class 기초개념

 

클래스는 유사한 변수(멤버 변수)와 함수(메소드)의 묶음이다.

클래스는 폴더와 같아서 폴더내에서 변수와 함수가 사용된다. 따라서 나중에 변수가 겹치거나 중복되어도 해도 오류가 나지 않는다. = 기존의 전역변수, 지역변수와의 차이점이다.

public class Main5 {
    public static void main(String[] args) {
        int k = sum(5,3);
        System.out.println(k);
    }

    public static int sum(int a, int b){
        int sum = a + b;
        return sum;
    }
}

class A = new class 는 생성자로 사용할 수 있는 공간을 생성한다. 혹은 변수 초깃값을 설정한다.

sum(int a, int b) 와 같이 파라미터가 있는 생성자의 경우 생성자(공간)를 따로 안만들어주기 때문에 필요시 생성자(공간)을 따로 생성해야한다. 

 

[*] 패키지

패키지도 사실상 변수 명으로 인해 만들게 되었다. 

 

[*] 상속

상속은 기능 추가시 사용된다. 대표적으로 만들어진 라이브러리를 수정해 사용할 필요가 있을 때 쓰인다.

 

 

//패키지도 변수명때문에 만듬
//상속은 기능 추가시 만듬 , 남이 만든 라이브러리 수정시 많이 사용.
//오버라이딩(=오버라이드) : 재정의한것만 해당 함수를 씀.
//super.함수 = 복사 가능.
//extend=상속
//부모 타입 + 변수 = 생성자() 가능 / 부모로 타입 지정해놓으면 뒤에 생성자만 바꿔서도 쓸수있음.
//오버로딩 : 이름 중복 사용 가능 / 상속과 아예 다름.
//public private 상속하지않게 = 접근제어
//외부에서 사용 불가 = 오용방지 메소드는 public, 변수는 private
//protected 상속한 부모자식간엔 볼 수 있음
//default 패키지 내부에서만 볼 수 있음. => 가시성의 차이
//인터페이스: 껍데기만 있음. 선언만 있음. "구현"해서 씀.나머지는 알아서 오버라이드해라.
//사용의 일관성을 위해 인터페이스로 강제시킴. 인터페이스를 초기로 밑에 얘들을 수정후 위에 고정시킴. = 다형성, 형태 다양
//추상클래스는 껍데기만 , 상속을 무조건 해줘야함 나머지는 알아서 오버라이드해라
//static(정적) 고정적인 => 여러곳에서 사용됨. 클래스 변수라고 이야기함. 클래스에 붙어있어서.
//클래스 이름으로 바로 접근이 가능. static 메소드도 그렇게 할 수 있음.
//