본문 바로가기

JAVA8

[JAVA] 자바 객체지향 개념 정리(4) 생성자란? 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드(인스턴스 변수를 초기화함) 생성자의 조건 생성자의 이름은 클래스의 이름과 같음 생성자는 리턴값이 없음(void는 생략) 생성자의 정의 클래스이름(타입 변수명, 타입변수명, ...){ // 인스턴스 생성 시 수행 될코드, // 주로 인스턴스 변수의 초기화 코드를 적음 } class Card{ Card(){ // 매개변수가 없는 생성자 } Card(String k, int num){ // 매개변수가 있는 생성자. } 여기서 주의해야하는 것은 인스턴스를 생성하는 것은 new이지 생성자가 아니다! 생성자는 인스턴스를 초기화 하는 역할 만 할 뿐임 기본생성자(default constructor) 클래스 이름() { } Card() { } 매개변수가 .. 2021. 11. 5.
[JAVA] 자바 객체지향 개념 정리(3) JVM의 메모리 구조 메서드 영역(Method Area) 클래스 정보, 클래스 변수가 저장되는 곳 호출스택(call stack또는 execution statck) 메서드의 작업공간 메서드가 호출되면 호츨스택에 메모리가 할당됨. 힙(Heap) 인스턴스가 생성되는 곳 new 연산자에 생성되는 배열과 객체는 모두 여기에 저장 호출스택의 특징 메서드 호출 시, 수행에 필요한 만큼 메모리를 스택에 할당 메서드 수행 종료시, 메모리 반환 후 스택에서 제거됨 호출 스택 제일 위 == 현재 실행 중인 메서드 아래있는 메서드 == 바로 위의 메서드를 호출한 메서드 기본형 매개변수와 참조형 매개변수 기본형 매개변수: 값이 복사됨 / 변수의 값을 읽기만 할 수 있음(read only) 참조형 매개변수: 주소가 복사됨 / 변.. 2021. 11. 5.
[JAVA] 자바 객체지향 개념 정리(2) 객체배열 객체배열은 참조변수들을 하나로 묶은 배열을 의미한다. 따라서 객체또한 배열로 다루는 것이 가능함. -> 단 객체 배열을 생성하는 것은 참조변수들이 만들어진 것일뿐 객체가 생성된 것은 아님!! 따라서 아래와같이 배열의 각 요소에 객체를 생성해서 저장해야함. library[0]=new Book(); library[1]=new Book(); library[2]=new Book(); library[3]=new Book(); library[4]=new Book(); 객체 배열도 배열이기 때문에 같은타입의 객체만 저장할 수 있음! 그러면 여러종류의 객체는 어떻게 저장할 수 있을까? 나중에 나오는 다형성을 배우면 여러 종류의 객체도 다룰수 있게됨. 클래스의 또 다른 정의 데이터와 함수의 결합 변수- 하나의 .. 2021. 11. 5.
[JAVA] 자바 객체지향 개념 정리(1) 1. 객체지향 언어의 주요 특징 (1) 코드 재사용성이 높음 기존의 코드를 이용해 쉽게 작성할 수 있다. (2) 코드 관리가 용이함 (3) 신뢰성이 높은 프로그래밍을 가능하게함. 제어자, 메서드를 이용해 데이터를 보호하고 올바른 값을 유지, 코드의 중복을 제거하여 오동작을 방지한다. 즉, 객체지향을 이해할 때는 재사용성 유지보수 중복된 코드의 제거 의 관점에서 이해하도록 한다. 2. 클래스와 객체 클래스 클래스란 객체를 정의해 놓은 것. 즉, [객체의 설계도]이다. -> 객체를 생성하는 데에 사용됨. 객체 실제로 존재하는 것, 사물 또는 개념 3. 객체와 인스턴스 인스턴스 어떤 클래스로부터 만들어진 객체 클래스의 인스턴스화 클래스로부터 객체를 만드는 과정을 의미함. 4. 객체의 구성요소(속성,기능) 멤버.. 2021. 11. 5.