본문 바로가기

JAVA

JAVA의 정석 공부 2일차

객체지향언어

  1. 코드의 재사용성이 높다.
  2. 코드의 관리가 용이하다.
  3. 신뢰성이 높은 프로그래밍을 가능하게 한다.

클래스와 객체

클래스의 정의 : 클래스란 객체를 정의해 놓은 것이다.
클래스의 용도 : 클래스는 객체를 생성하는데 사용된다.
객체의 정의 : 실제로 존재 하는 것
객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름

객체와 인스턴스

클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 하며,
어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다.

객체는 속성과 기능이 있다.

속성 - 멤버변수 , 특성 , 필드 , 상태
기능 - 메소드, 행위 , 함수

변수와 메소드

변수는 클래스변수 , 인스턴스변수 , 지역변수 세 종류가 있다.

멤버변수를 제외한 나머지 변수들은 모두 지역변수이다.
static이 붙은 것은 클래스변수 붙지않는 것은 인스턴스 변수이다.

클래스 변수 생성시기 : 클래스가 메모리에 올라갈 떄
인스턴스 변수 생성시기 : 인스턴스가 생성되었을 때
지역변수 : 변수 선언문이 수행되었을 때

메소드는 어떤 작업을 수행하기 위한 명령문의 집합이다.
메소드는 크게 선언부와 구현부 두 부분으로 나누어져 있다.

JVM의 메모리 구조

  1. 메소드영역
    프로그램 실행 중 어떤 클래스가 사용되면 JVM은 해당 클래스의 클래스파일을 읽어서 분석하여
    클래스에 대한 정보를 이곳에 저장한다.

  2. 인스턴스가 생성되는 공간. 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성된다.
  3. 호출스택
    호출스택은 메소드의 작업에 필요한 메모리 공간을 제공한다.

메소드 오버로딩

오버로딩: 한 클래스 내에 같은 이름의 메소드를 여러 개 정의하는 것을 오버로딩이라 한다.

오버로딩의 조건

  1. 메소드 이름이 같아야 한다.
  2. 매개변수의 개수 또는 타입이 달라야 한다.
  3. 매개변수는 같고 리턴타입이 다른 경우는 오버로딩이 성립되지 않는다.

생성자

생성자는 인스턴스가 생성될 떄 호출되는 인스턴스 초기화 메소드 이다.
인스턴스 변수의 초기화 작업에 주로 사용된다.

  1. 생성자의 이름은 클래스의 이름과 같아야 한다.
  2. 생성자는 리턴 값이 없다.

'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