JAVA 35

[JAVA] 생성자

📌 생성자는 객체가 생성될 때 호출되며 객체를 초기화하는 역할을 수행합니다. 생성자 선언과 호출 public Car() {} // 선언 Car car = new Car(); // 호출 생성자는 반환 타입이 없고 이름은 클래스의 이름과 동일합니다. new 연산자에 의해 객체가 생성되면서 Car(); 즉, 생성자가 호출됩니다. 기본 생성자 📌 기본 생성자는 선언할 때 괄호( ) 안에 아무것도 넣지않는 생성자를 의미합니다. 모든 클래스는 반드시 생성자가 하나 이상 존재합니다. 만약 클래스에 생성자를 하나도 선언하지 않았다면 컴파일러는 기본 생성자를 바이트코드 파일에 자동으로 추가시켜줍니다. 따라서 이러한 경우는 기본 생성자 생략이 가능합니다. 반대로 단 하나라도 생성자가 선언되어있다면 컴파일러는 기본 생성자를..

JAVA 2023.05.31

[JAVA] 지역변수 및 상수

지역변수 메서드 내부에 선언한 변수를 의미합니다. 메서드가 실행될때마다 독립적인 값을 저장하고 관리하게됩니다. 지역 변수는 메서드 내부에서 정의될때 생성되어 메서드가 종료될 때까지만 유지됩니다. public class Main { public static void main(String[] args) { Main main = new Main(); // 메서드 호출 : main.getClass() System.out.println("main.getClass() = " + main.getNumber()); System.out.println("main.getClass() = " + main.getNumber()); System.out.println("main.getClass() = " + main.getNumb..

JAVA 2023.05.31

[JAVA] 인스턴스 멤버와 클래스 멤버

📌 멤버 = 필드 + 메서드 인스턴스 멤버 = 인스턴스 필드 + 인스턴스 메서드 클래스 멤버 = 클래스 필드 + 클래스 메서드 📌 인스턴스 멤버 & 클래스 멤버 필드와 메서드는 선언하는 방법에 따라서 인스턴스 멤버와 클래스 멤버로 구분할 수 있습니다. 인스턴스 멤버는 객체 생성 후에 사용할 수 있고 클래스 멤버는 객체 생성 없이도 사용할 수 있습니다. 1. 인스턴스 멤버 📌객체(인스턴스)를 생성한 후 사용할 수 있는 필드와 메소드를 의미 또한 객체의 인스턴스 필드는 각각의 인스턴스 마다 고유하게 값을 가질 수 있습니다. 메서드는 메서드 영역에 두고서 모든 인스턴스들이 공유해서 사용된다. 대신 무조건 객체를 생성 즉, 인스턴스를 통해서만 메서드가 사용될 수 있도록 제한을 걸어두었다. (메서드) 2. 클래스..

JAVA 2023.05.31

[JAVA] 객체의 속성(필드),행위(메서드)

객체의 속성 : 필드 필드란? 📌 필드는 객체의 데이터를 저장하는 역할을 한다. 객체의 필드는 크게 고유한 데이터, 상태 데이터, 객체 데이터로 분류할 수 있다. 이처럼 자동차 객체는 4개의 고유한 데이터와 3개의 상태 데이터 그리고 3개의 객체 데이터를 가질 수 있다. 소프트웨어의 부품을 객체라 표현한다. 이 3개의 객체 데이터를 자동차를 만들기 위한 부품 데이터라고 이해해도 좋다. 필드의 초기값과 초기화 📌 우리가 정의하여 선언한 클래스의 필드들은 기본적으로 초기값을 제공하지 않을 경우 객체가 생성될 때 자동으로 기본값으로 초기화된다. 초기값을 제공하는 방법은 ‘필드타입 필드명 = 값;’ 이렇게 직접 초기화 할 수 있다. String model = "Gv80"; 필드 타입별 기본값 필드의 사용 방법 ..

JAVA 2023.05.30

[JAVA] 객체 생성과 참조형 변수

객체 생성과 참조형 변수 ● 객체 생성 new Car(); // Car클래스 객체 생성 객체 생성 연산자인 ‘new’를 사용하면 클래스로부터 객체를 생성할 수 있다. new 연산자 뒤에는 해당 클래스의 생성자 호출 코드를 작성한다. 형태가 Car();즉, 기본 생성자의 형태와 같기 때문에 new 연산자에 의해 객체가 생성되면서 기본 생성자가 호출된다. ● 참조형 변수 Car car1 = new Car(); // Car클래스의 객체인 car1 인스턴스 생성 Car car2 = new Car(); // Car클래스의 객체인 car2 인스턴스 생성 new 연산자를 통해서 객체가 생성되면 해당 인스턴스의 주소가 반환되기 때문에 해당 클래스의 참조형 변수를 사용하여 받아줄 수 있다. ● 객체 배열 객체는 참조형 ..

JAVA 2023.05.29

[JAVA] 클래스 설계

📌 클래스는 객체를 생성하기 위한 설계도 클래스의 구성 멤버에는 필드, 생성자, 메서드가 있다. 4 STEP 📌 우리가 클래스를 만들기 위해서는 4가지 STEP 이 필요하다. 만들려고 하는 설계도를 선언합니다.(클래스 선언) 객체가 가지고 있어야할 속성(필드)을 정의한다. 객체를 생성하는 방식을 정의한다.(생성자) 객체가 가지고 있어야할 행위(메서드)를 정의한다! 자동차 클래스를 만들어 보겠다! 1. 클래스 선언! public class Car {} //public class Car : 공개된 자동차 클래스 선언을 의미한다. 2. 클래스의 필드 정의! String company; // 자동차 회사 String model; // 자동차 모델 String color; // 자동차 색상 double price..

JAVA 2023.05.29

[JAVA] 객체지향 프로그래밍 이해하기 (2)

1. 객체 지향 프로그래밍의 특징 📌 우리가 객체지향 프로그래밍을 하다보면 필연적으로 만나게 되는 개념이 있습니다. 바로 캡슐화, 상속, 다형성, 추상화입니다. 앞으로 학습하게 되는 내용에 포함되어 있기 때문에 간단하게 학습하고 가겠습니다. 1) 캡슐화 캡슐화란 속성(필드)와 행위(메서드)를 하나로 묶어 객체로 만든 후 실제 내부 구현 내용은 외부에서 알 수 없게 감추는 것을 의미한다. 외부 객체에서는 캡슐화된 객체의 내부 구조를 알 수 없기 때문에 노출시켜 준 필드 혹은 메서드를 통해 접근할 수 있다. 필드와 메서드를 캡슐화 하여 숨기는 이유는 외부 객체에서 해당 필드와 메서드를 잘못 사용하여 객체가 변화하지 않게 하는데 있다. Java에서는 캡슐화된 객체의 필드와 메서드를 노출 시킬지 감출 지 결정하..

JAVA 2023.05.29

[JAVA] 객체지향 프로그래밍 이해하기 (1)

📌 현실세계에서 어떠한 제품을 만들기 위해 부품들을 하나씩 조립해서 완성시키는 것 처럼 소프트웨어 또한 필요한 부품들을 만들고 하나씩 조립해서 하나의 완성된 프로그램을 만들 수 있는데 이러한 기법을 ‘객체지향 프로그래밍’이라고 부릅니다. 1. 객체란? 객체는 세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 의미 객체는 속성과 행위로 구성 자동차를 속성과 행위로 표현 자동차는 회사, 모델, 색상, 가격, 속도 등의 속성을 가질 수 있음 자동차는 가속, 브레이크, 기어변속, 조명, 경적등의 행위를 가질 수 있음 java에서 이러한 속성과 행위를 필드와 메서드로 정의하여 구현할 수 있음 이처럼 현실 세계에 있는 객체를 소프트웨어의 객체로 설계하는 것을 객체 모델링이라고 함 2. 객체 간의 협력 현실 세계에서..

JAVA 2023.05.29

[JAVA] JVM 구조와 메모리 영역

JVM 동작 과정 JVM은 자바 가상 머신으로, 자바 바이트 코드를 해석하고 실행하는 역할을 합니다. 자바 코드는 JVM을 통해 실행되므로 Window, Linux와 같은 다른 OS에서도 동일하게 실행할 수 있다는 장점이 있습니다. 우아한 테크 JVM 편 캡쳐본 구체적으로 메모리 영역을 공부하기 전에 JVM이 자바 소스코드를 어떻게 OS에서 실행하는지 과정을 살펴봅시다. 1. 자바 소스코드인 .java 파일을 컴파일러가 자바 바이트 코드인 .class로 변환합니다. 2. .class 코드를 JVM의 클래스 로더에게 보냅니다. 3. 클래스 토더는 JVM 런타임 데이터 영역으로 로딩하여 JVM의 메모리에 올립니다. 모든 자바 프로그램은 JVM을 통해 실행됩니다. 일단 프로그램이 실행되면 JVM은 OS로부터 ..

JAVA 2023.05.28

[JAVA] 참조형 배열로 정리하기 (컬렉션)

📌 Java 프로그래밍 에서는 배열을 더 고도화 시켜서 컬렉션 이라는 이름으로 참조형 분류통(자료구조)를 제공하고 있습니다. 컬렉션은 참조형 변수만 저장함으로써 여러 기능을 많이 제공합니다. 컬렉션은 여러가지 종류가 있고, 이러한 컬렉션들은 데이터를 넣고 빼는 방법이 각자 다르기 때문에 용도에 맞게 사용합니다. 1.컬렉션 이해하기 Java 에서 컬렉션은 배열보다 다수의 참조형 데이터를 더 쉽고 효과적으로 처리할 수 있는 기능을 많이 가지고 있습니다. 컬렉션기능 : 크기 자동조정/ 추가/ 수정/ 삭제/ 반복/ 순회/ 필터/ 포함확인 등 컬렉션 종류 Collection 에는 List, Set , Queue , Map 이 있습니다. (자료구조) List : 순서가 있는 데이터의 집합 (데이터 중복 허용) - ..

JAVA 2023.05.27