객체지향언어
- 코드의 재사용성이 높다.
- 코드의 관리가 용이하다.
- 신뢰성이 높은 프로그래밍을 가능하게 한다.
클래스와 객체
클래스의 정의 : 클래스란 객체를 정의해 놓은 것이다.
클래스의 용도 : 클래스는 객체를 생성하는데 사용된다.
객체의 정의 : 실제로 존재 하는 것
객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름
객체와 인스턴스
클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 하며,
어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다.
객체는 속성과 기능이 있다.
속성 - 멤버변수 , 특성 , 필드 , 상태
기능 - 메소드, 행위 , 함수
변수와 메소드
변수는 클래스변수 , 인스턴스변수 , 지역변수 세 종류가 있다.
멤버변수를 제외한 나머지 변수들은 모두 지역변수이다.
static이 붙은 것은 클래스변수 붙지않는 것은 인스턴스 변수이다.
클래스 변수 생성시기 : 클래스가 메모리에 올라갈 떄
인스턴스 변수 생성시기 : 인스턴스가 생성되었을 때
지역변수 : 변수 선언문이 수행되었을 때
메소드는 어떤 작업을 수행하기 위한 명령문의 집합이다.
메소드는 크게 선언부와 구현부 두 부분으로 나누어져 있다.
JVM의 메모리 구조
- 메소드영역
프로그램 실행 중 어떤 클래스가 사용되면 JVM은 해당 클래스의 클래스파일을 읽어서 분석하여
클래스에 대한 정보를 이곳에 저장한다. - 힙
인스턴스가 생성되는 공간. 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성된다. - 호출스택
호출스택은 메소드의 작업에 필요한 메모리 공간을 제공한다.
메소드 오버로딩
오버로딩: 한 클래스 내에 같은 이름의 메소드를 여러 개 정의하는 것을 오버로딩이라 한다.
오버로딩의 조건
- 메소드 이름이 같아야 한다.
- 매개변수의 개수 또는 타입이 달라야 한다.
- 매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성립되지 않는다.
생성자
생성자는 인스턴스가 생성될 떄 호출되는 인스턴스 초기화 메소드 이다.
인스턴스 변수의 초기화 작업에 주로 사용된다.
- 생성자의 이름은 클래스의 이름과 같아야 한다.
- 생성자는 리턴 값이 없다.
'JAVA' 카테고리의 다른 글
자바 8 인 액션 1일차 (0) | 2021.08.02 |
---|---|
자바의 정석 7일차 (0) | 2021.08.02 |
자바의 정석 공부 4일차 (0) | 2021.07.14 |
JAVA의 정석 공부 3일차 (0) | 2021.07.14 |
JAVA의 정석 공부 1일차 (0) | 2021.07.14 |