객체란?
우리 눈에 보이는 모든 것이자,
특정한 목적으로 만들어지고 속성과 기능을 갖고 있는 프로그램의 단위
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);
}
}
'Java' 카테고리의 다른 글
[Java] 상속 메소드 오버라이드, 자료형, super 클래스 (0) | 2021.07.24 |
---|---|
[Java] static과 private, Getter&Setter (0) | 2021.07.24 |
[Java] String 다루기(1) (0) | 2021.07.22 |
Collection, Object, Generic의 관계 (0) | 2021.07.15 |
[Java 자료구조] ArrayList (0) | 2021.07.13 |