본문 바로가기

Java

(13)
Class, Object, Instance 진짜 알겠는데 맨날 까먹는 거 1위 (나만 그러면 말고) public class Car{ private String model; private String color; public Car(String model, String color){ this.model = model; this.color = color; } public void drive(){ System.out.println("drive"); }} 우리의 이해를 도와줄 예시 코드  Class클래스는 객체를 생성하기 위한 설계도이다.객체의 상태(필드)와 행동(메서드)을 정의한다. 그럼 Car 가 클래스 이겠죠? Car 클래스는 model과 color라는 필드를 가지고 있고, drive라는 ..
Java 메모리 - Stack, Heap, Method(Static) 앞선 포스팅으로 조금씩 들어는 봤을 거다. 이것만 보는 사람들도 있을 텐데 복습하는 마음가짐으로 정리해 보자. 자바 프로그램이 실행되면 JVM(자바 가상 머신)은 os에게 메모리를 할당받게 된다. 크게 Stack과 Heap으로 나뉜다. 데이터 타입에 따라 다르게 할당되는데, 변수 종류부터 알아야 한다.변수명선언위치 클래스 변수 (static 변수)클래스 영역클래스 영역에서 static이 붙는 변수, 객체를 공유하는 변수인스턴스 변수static이 아닌 변수, 개별적인 저장 공간으로 객체/인스턴스 마다 다른 값 저장 가능 지역 변수메서드 영역메서드 내에 선언되고 메서드 수행이 끝나면 소멸되는 변수매개 변수메서드 호출 시 전달되는 값을 가지고 있는 변수 변수의 생성 시기는 클래스 변수 - 클래스가 메모리에 올..
Java 자료구조 - 배열과 리스트 난 기초가 부족한 사람이야........................ 설명 못하면 너무 부족하지.. 다들 기초 빵빵하게 챙기세요!!!!!!!!! 배열(Array)과 리스트(List)는 상당히 비슷하지만 다르다.  배열부터 알아보자. 배열 ArrayJava에서 배열은 동일한 타입의 여러 값을 저장할 수 있는 연속적인 메모리 공간이다. 고정된 크기를 가진다.인덱스를 통해 요소에 접근할 수 있다.배열 선언&초기화// 배열 참조 변수만 선언int[] arr1;int arr2[];// 선언 + 크기 할당int[] arr3 = new int[3];// 선언 + 초기화int[] arr4 = {1,2,3};int[] arr5 = new int[]{1,2,3};// 선언된 배열의 참조 변수에 초기화 할당arr1 = ne..
Java 기초 다지기 - 문자열 포스팅 하나로 다 하려 했는데 진짜 너무 많아질거 같아서 따로 뺴야겠다.  문자열 자료형 char / Stringchar - 한 개의 문자 char a = 'C' - 2; // 67 - 2System.out.println(a); // ASCII 65 = A String - char[] 배열로 이루어진 데이터 자료String은 참조 자료형으로 heap 영역에 저장되고 주소만 stack 영역에 저장된다.기본적으로 자바에서 String 객체의 값은 변경할 수 없다.String a = "Hello";a = a + "World"; // 객체의 값이 변경되는게 아니라 Hello World를 따로 메모리에 만들어서 다시 참조한다.String 주소 할당 방식에는 2가지가 있다. 결과는 똑같지만 내부적으로 큰 차이가 존..
Java 기초 다지기 - 객체지향 특성 ( 인터페이스를 곁들인 ) 이것저것 만지다 보니 Java 기초 문법을 아차 할 때가 있는데 다시 다져보는 시간을 가져야겠다. (많아서 따로 다 빼야겠다.) Java는 진짜 모두가 알거같은데 객체 지향적 프로그래밍 언어이다. 정리했었던 거 같은데 다시 간단하게 말하면 데이터와 데이터를 처리하는 메서드를 하나의 객체로 묶어서 프로그래밍하는 방식이다.  1. 객체지향의 특성캡슐화 (Encapusulation) - 관련된 기능과 관련된 데이터를 하나의 클래스로 묶어서 사용한다.접근에 제한 설정이 가능하다.public (+) : 모든 패키지에서 접근 가능protected (#) : 같은 패키지 내에서만 접근이 가능하나 상속 받은 객체에서는 접근 가능default : 같은 패키지 내에서만 접근 가능private (-) : 클래스 내부에서만 ..