0507 JAVA 01

JB·2023년 5월 7일
0

JAVA

목록 보기
8/10

KeyWords : Method, Class


🌵 Method

🍄 Method Overloading

  • 매개변수의 개수 또는 타입이 다르면 같은 이름의 메소드로 재선언 가능
  • 단 리턴 타입은 영향을 주지 않음
void welcome(String name) {
	System.out.println(name + "님 안녕하세요");
}

		
void welcome(int num) {
	System.out.println(num+"번님 안녕하세요");
}

🍄 Argument & Parameter

인수와 매개변수 : 메소드에게 전달해주는 무언가

*Argument : 메소드를 사용할 때 메소드의 매개변수로 전달될 값
*Parameter : 외부에서 전달받아 값을 저장하고 메소드 내에서 사용할 변수


🌵 Class

  • 객체를 생성하기 위한 틀, 설계도
    ex) 사람(클래스)
    홍길동, 김길동, 서길동...(객체)
  • 연관성이 있는 값(속성)과 기능을 모아둔것
  • 사용자 정의 타입
int ar = new int[3];
Scanner cs. new Scanner(System.in);
sc.next();

// new : heap메모리 영역에 저장, 값이 정해지지않았다면 기본값을 올림 = 0, ""

🍄 클래스 선언

class 클래스명{
	field - 상태 
    method - 동작 
    생성자
}
public class Bike(){
	// field
    
    int wheel;
    
    String color;
   	
    int price;
}


public class ClassTest{
	public static void main(String[] args){
    	// 객체화 
        // className objectName = new ClassName();
        
        Bike bike1 = new Bike();
        System.out.println(bike1.color);
        System.out.println(bike1.price);
    }
}

🍄 생성자
클래스명 뒤에 소괄호가 있는 형태
생성자의 역할은 필드를 초기화함
단, 생성자는 리턴이라는 기능이 존재하지 않음

🍄 기본 생성자
클래스명()
클래스 선언시 자동으로 선언되며 사용자가 직접 생성자를 선언하게 되면 자동으로 선언해주지 않음
--> 기본 생성자와 오버로딩한(직접 선언한) 생성자를 같이 사용하고 싶다면 기본 생성자를 직접 선언해야함

🍄 this
객체의 주소값이 this라는 변수에 자동으로 담기게 됨
일반적으로 생성자의 매개변수와 필드의 이름이 같은 경우 구분하기 위해 사용

🍄 this()
자기 자신의 다른 생성자를 의미
생성자 내부에서만 사용이 가능하며 최상단에 작성


🌵 객체화

  • 객체를 만드는 작업
  • 추상적인 개념을 구체화 시키는 작업
  • 클래스명 객체명 = new 클래스명()
    ex) Scanner sc = new Scanner(System.in)

Example

Bike bike1 = new Bike()

  • Bike 클래스를 통해 생성된 객체의 주소값을 Bike 타입의 bike1의 변수에 저장

🍄 멤버의 사용

필드사용 : 객체명.필드명
메소드 사용 : 객체명.메소드명()

ClassTest ========================
static void methodA(){
	System.out.println("static method 실행");
}

// 원래라면
ClassTest ct = new ClassTest();
ct.methodA();

// 근데 static을 붙이면 이렇게만 가능 - 메모리에 올리지 않아도 실행 가능 
methodA();

🍄 Static

  • compiler가 static 키워드를 메모리에 한번에 모아서 쭉 올림

  • 메소드는 메모리에 올린 시점부터 사용 가능

  • Static 키워드가 있는 메소드는 프로그램이 시작하자마자 메모리에 올라가는거고
    static 키워드가 없는 메소드는 객체화를 한 시점부터 메모리에 올라가서 사용 가능

static method 사용할때 : className.methodName


🌵 instance & object

Bike bike1 = new Bike();
// => 객체 생성 

// bike1은 객체
// bike1은 Bike클래스의 인스턴스
profile
두비두밥밥

0개의 댓글