분류 전체보기

💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 상속 자바에서는 다른 클래스에서 미리 만들어둔 기능을 특정 클래스에서 사용하거나, 특정 형식에 맞춰 클래스를 장석할 때, 상속이라는 개념을 사용한다. 상속은 super class의 자원을 물려받아 사용할 수 있게 해주는 기술이다. extends 키워드를 통해 class, abstract class를 확장할 수 있으며, implements 키워드를 통해 interface를 구현할 수 있다. extends를 통해 super클래스를 확장한 sub클래스의 생성자는 내부적으로 super클래스의 생성자를 호출하게 되어있다. 따라서 sub클래스가 heap에 올라가기 전 super클래스부터 올라가기 때문에..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 package package는 그저 폴더의 개념이 아니다. 자바에서 동일한 패키지 내, 이름이 중복되는 클래스는 존재할 수 없다. 클래스를 잘 분류하지 않으면 이름이 중복되는 경우, 어떤 클래스가 어떤 일을 수행하는지 혼동되는 일이 발생한다. 따라서 클래스를 잘 분류하여 각 클래스의 목적을 확실히 하고, 접근을 제어하기 위해 존재하는 것이 패키지 이다. 클래스 소스코드 가장 첫 줄에 package 예약어를 사용하여 패키지를 명시해야 한다. package선언 윗 줄에 주석이나 공백은 있어도 된다. 컴파일 시점에서 삭제되기 때문 패키지 선언은 소스 하나당 하나씩만 존재해야 한다. 패키지 이름과 ..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 Reference type 참조 자료형(reference type)은 primitive type을 제외한 모든 자료형이다. reference type은 primitive type과 다르게 heap의 인스턴스를 참조하는 주소 값을 가진다. 일반적으로 new 키워드를 통해 초기화할 수 있다. 생성자는 몇 개까지 만들 수 있을까? 생성자는 개발자가 원하는 만큼 생성할 수 있다. 다만, overloading의 규칙을 따라야 하기 때문에, 각 생성자는 메서드 파라매터의 시그니처가 달라야 한다. super(), this() 키워드를 사용하면 super class, 혹은 자신의 생성자를 호출할 수 있다...
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 배열 같은 타입의 데이터를 연속적인 메모리 공간에 저장할 수 있는 자료 구조이다. int[] arr = new int[10]; arr[0] = 1; arr[1] = 2; 위의 코드를 실행하면 아래 그림 처럼 4Byte가 10번 연속된 공간이 heap 영역에 할당된다. 그리고 arr이라는 변수(공간)는 heap영역에 존재하는 이 공간의 주소값이 저장된다. 배열에서 탐색 속도는 O(n), 6번째 인덱스에 접근하고 싶다면 어떻게 하면 될까? 4(Byte) * 6, 24번째 Byte가 6번째 인덱스의 시작점인 것을 바로 알 수 있다. int[][] arr = new int[2][3]; 2차원 배열은..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 for int i = 1; for (; i
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 연산자(Operator) 자바에서 변수끼리의 연산을 위해 존재하는 것이 연산자이다. Reference type = new Reference(); 위의 코드에서 =또한 연산자이며 대입 연산자라고 불린다. 연산자에는 여러 종류가 존재한다. 대입연산자: = 산술연산자: +, -, *, /, % 복합대입연산자(산술 + 대입): +=, -=. *=. /=, %= 단항연산자: +, - (부호), ++, --, !(논리 부정) 비교연산자: ==, !=, >, >=,
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 변수 (variable) 변수는 프로그램에서 사용될 데이터를 담는 공간이다. 자바에는 네 가지 변수가 존재한다. 지역 변수: 코드 블럭 { }내에서 선언되고 사용할 수 있는 변수, static 블록 포함 매개 변수: 메서드에 전달하는 변수. 메서드 내에서만 유효하다. 인스턴스 변수: 인스턴스 필드에 선언된 변수. 인스턴스의 생명 주기와 같다. 클래스 변수: 클래스 필드에 static으로 선언된 변수. 전 포스팅에서 객체의 상태라고 표현한 변수는 인스턴스 변수이다. 변수 명명 규칙 변수의 가장 앞 문자는 유니코드 문자, 알파벳, $(달러), _(언더 스코어)만 올 수 있다. (필수) 변수명은 ..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 주관적인 생각을 정리한 글입니다. ☁️ 내용정리 객체지향 자바는 객체지향 언어(Object Oriented Language)이다. 객체지향이 뭘까? 객체지향은 자바가 지향하는 프로그래밍 방법론으로 객체 간의 협력을 통해 프로그램이 동작하는 것이 특징이다. 객체란 뭘까? 객체는 상태(state)와 행위(behavior)를 가진다. 상태는 객체가 스스로 관리하는 변수를 의미한다. 행위는 상태를 변경하거나, 다른 객체의 질문에 메시지를 던지는 것을 의미한다. 정리하면 자바는 객체지향 언어이며 객체는 상태와 행위를 가진다. 행위를 통해 상태를 관리하거나 다른 객체와 협력한다. 클래스와 객체 클래스와 객체는 구분되어 사용된다. 클래스는 객체를 생성..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 생각을 정리한 글입니다. ☁️ 내용정리 터미널에서 자바 프로그램 작성하고 실행하기 % java [-options] class [args...] // .class 파일 실행 % java [-options] jar jarfile [args...] // .jar 파일 실행 JAR? Runnable JAR? 터미널에서 JAR파일 생성하기 % vi GodOfJava.java 커맨드에서 java파일을 생성하고 아래와 같이 작성한다. public class GodOfJava { public void main(String[] args) { System.out.println(String.join(", ", args)); } } javac 명령어를 사용하여..
hyunsb
'분류 전체보기' 카테고리의 글 목록 (9 Page)