객체(object)_
- 데이터(대상)
객체지향 프로그래밍(object oriented programming, oop)_
- 객체를 기반으로 하는 프로그래밍, java
- 절차 지향 프로그래밍과 반대, c언어
ex) 학생, 밥, 버스, 학교를 각각 객체로 나눠서 프로그래밍
절차 지향 프로그래밍_
- 절차, 순서를 기반으로 하는 프로그래밍
ex) 학생이 밥을 먹고 버스를 타서 학교를 가는 순으로 프로그래밍
클래스_
- 객체에 대한 속성과 기능을 코드로 구현한 것
- 대문자로 시작
멤버 변수_
- 객체의 속성, 특성을 가지는 것
- property, attribute
- 소문자로 작성하되 뒤에 다른 단어가 붙으면 그 지점만 대문자 ex) studentName
메서드(method)_
- 객체의 기능을 가지는 것
- 함수의 일종
- 소문자로 작성하되 뒤에 다른 단어가 붙으면 그 지점만 대문자 ex) studentNameShow( )
함수 정의하기_
- 함수 이름: 함수의 기능과 관련해 지음
- 매개 변수: 함수의 수행을 위해 필요한 변수, 없다면 생략 가능
- return: 수행한 결과를 반환하기 위해 사용하는 예약어, 없다면 생략 가능
- 함수 반환형: 반한 값의 자료형을 뜻하며 반환 값이 없는 경우 void로 작성
- 함수 반환형 함수 이름( 매개변수 ) {
동작할 기능;
return 리턴 값;
}
ex) int add ( int num1, int num2 ) {
int result;
result = num1 + num2;
return result;
}
함수를 사용하는 이유_
- 효율성 증가(동일한 기능을 묶어서 처리할 수 있고 필요한 기능만 골라 사용 가능하기 때문)
패키지_
- 소스의 묶음
인스턴스(dynamic memory)_
- 클래스(static 코드)를 생성한 것
클래스(객체) 생성하는 법_
- new 예약어를 이용해 클래스 생성
- 클래스형 변수이름 = new 생성자;
ex) Student studentA = new Student();
용어 | 설명 |
객체 | 객체 지향 프로그래밍의 대상, 생성된 인스턴스 |
클래스 | 객체를 프로그래밍하기 위해 코드로 만든 상태 |
인스턴스 | 클래스가 메모리에 생성된 상태 |
멤버변수 | 클래스의 속성, 특성 |
메서드 | 멤버 변수를 이용해 클래스의 기능을 구현 |
참조 변수 | 메모리에 생성된 인스턴스를 가르키는 변수 |
참조 값 | 생성된 인스턴스의 메모리 주소 값 |
생성자(constructor)_
- 인스턴스를 초기화 할 때의 명령어 집합
- 생성자의 이름은 클래스의 이름과 같음
- 생성자는 메서드가 아니며 상속됮 않고 리턴 값이 없음
디폴트 생성자(default constructor)_
- 하나의 클래스에는 반드시 적어도 하나 이상의 생성자가 존재
- 프로그래머가 생성자를 기술하지 않으면 디폴트(기본) 생성자가 자동으로 생성됨(컴파일 시 작동)
- 매개 변수, 구현부가 없음
- 클래스에 매개변수가 있는 생성자를 추가한다면 디폴트 생성자는 제공 x
생성자 오버로드(constructor overload)_
- 필요에 의해 생성자를 추가하는 경우 여러개의 생성자가 하나의 클래스에 있는 것
ex) public class Person{
String name;
int weight;
public Person() { } => 디폴트 생성자
public Person(String name1){ => 이름을 매개변수로 입력받는 생성자
name = name1;
}
public Person(Sting name1, int weight1){ => 이름과 몸무게를 매개변수로 입력받는 생성자
name = name1;
weight = weight1;
}
}