본문 바로가기
Java

[Java] 객체, 클래스, 오버로딩

by happyhelen 2021. 7. 24.

객체란?

우리 눈에 보이는 모든 것이자,

특정한 목적으로 만들어지고 속성과 기능을 갖고 있는 프로그램의 단위

ex) 자동차(객체)

    - 속성: 색상, 바퀴, 엔진,,

    - 기능: 배기량 측정, 이동, 멈춤,,

 

객체지향 프로그래밍을 해야하는 이유?

확장성

 

 

클래스란?

모든 객체는 클래스로부터 생성된다

클래스는 자동차를 만드는 '틀'로 원하는 속성이나 기능의 자동차를 만들어낼 수 있다

 

 

클래스 구성요소 3가지

 

1) 필드(멤버변수) : 속성을 정의

 - 접근제한자 + 타입 + 변수이름 으로 시작

 

2) 생성자 : 메모리에 올라가게 하는 것, 초기값을 설정, 생성을 할 때 필요한 기술을 입력, 반환타입이 없다

 - 접근제한자 + 클래스이름과 동일한 생성자이름()

 

3) 메소드(함수) : 기능을 정의하고 반환값 설정

 - 접근제한자 + 반환값 타입 + 변수이름() 으로 시작

 

인스턴스 생성

생성자로부터 객체를 생성해서 메모리에 올림

 

 

오버로딩

이름은 같고 매개변수의 개수 or 타입이 다른 메소드를 만들 수 있다

public class No4_Overloading_Info {
	// 메소드만
	// 매개변수의 수 or 자료형이 달라야 함
	public void getInfo() {
		System.out.println("정보를 불러옵니다");
	}
	
	public void getInfo(String name, int age) {
		System.out.println("이름과 나이를 불러옵니다");
		System.out.println(name + age);
	}

	public void getInfo(String name, int age, String address) {
		System.out.println("이름과 나이와 주소를 불러옵니다");
		System.out.println(name + age + address);
	}
	
	public void getInfo(String id, String password, String job) {
		System.out.println("아이디와 비밀번호와 직업을 불러옵니다");
		System.out.println(id + password + job);
	}
}