분류 전체보기

💡 해당 글은 『자바의 신 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 명령어를 사용하여..
자바를 학습하며 지금까지 1000번은 작성해본 것 같은 메인 메서드에 대해 간단한 고찰을 해보려 한다. 왜 public 이어야 하는가? 메인 메서드의 접근제한자를 private으로 변경하고 컴파일 해보니 컴파일에 성공했다. private static void main(String[] args) { System.out.println("Hello"); } 커맨드에서 실행을 시켜봤더니!! 오류: GodOfJava 클래스에서 기본 메소드를 찾을 수 없습니다. 다음 형식으로 기본 메소드를 정의하십시오. public static void main(String[] args) 또는 JavaFX 애플리케이션 클래스는 javafx.application.Application을(를) 확장해야 합니다. main() must b..
💡 해당 글은 『자바의 신 3판』을 복습하며 도서의 내용과 본인의 생각을 정리한 글입니다. 내가 생각하는 프로그래밍은 “일상생활에서 불편했던 점을 프로그램으로 구현해 해결할 수 있게 하는 것” 이라고 생각한다. ☁️ 내용정리 프로그래밍(Programming)이란? 프로그래밍은 컴퓨터에서 할 일을 가르치는 것이다. - 『자바의 신 3판』 프로그래밍을 한다는 것은 작은 작업을 반복적으로 수행하면서 어떤 기능을 만들어 내는 것이다. 내가 잘 이용하는 노션, 구글과 같은 사이트도 작은 프로그램들이 수백, 수천 개가 수행되면서 기능을 제공한다. 사람과 컴퓨터 사이에 의사소통을 위해 필요한 것이 프로그래밍 언어이다. 클래스(Class), 메서드(Method), 변수(Variable) 클래스는 자바의 가장 작은 단위..
자바의 여러 클래스에서 Synchronized 예약어를 통한 동기화된 블록 혹은 메서드를 심심찮게 볼 수 있다. 당장 생각나는 클래스를 나열하면 StringBuffer, HashTable, Vector, ConcurrentHashMap 등이 있다. 아래 java.util.concurrent 패키지에 많으니 참고하길 바란다. java.util.concurrent (Java Platform SE 8 ) Class Summary Class Description AbstractExecutorService ArrayBlockingQueue CompletableFuture A Future that may be explicitly completed (setting its value and status), and ma..
· JAVA
Daemon? 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로그램을 말한다. 시스템 로그를 남기는 syslogd처럼 보통 데몬을 뜻하는 ‘d’를 이름 끝에 달고 있으며, 일반적으로 프로세스로 실행된다. - wikipedia Daemon Thread 데몬은 백그라운드에서 실행되는 프로그램을 말한다. 데몬 스레드는 백그라운드에서 실행되는 스레드이다. Thread클래스의 setDaemon() 메서드를 통해 설정할 수 있다. public final void setDaemon(boolean on) { checkAccess(); if (isVirtual() && !on) throw new IllegalArgumentException("'false' not legal for virtu..
· JAVA
Java Garbage Collection Basics Java Overview Java is a programming language and computing platform first released by Sun Microsystems in 1995. It is the underlying technology that powers Java programs including utilities, games, and business applications. Java runs on more than 850 mill www.oracle.com 해당 포스팅의 모든 이미지의 출처는 오라클 공식 문서이다. 가비지 컬렉션 (GC: Garbage Collection) Automatic garbage collection ..
상속 시, 오버라딩된 메서드는 부모클래스의 메서드보다 같거나 확장된 접근만을 허용한다. public class A { void method() { ... } } // XXX 컴파일 오류 public class B extends A { @Override private void method() { ... } } // OOO public class C extends A { @Override public void method() { ... } } 이는 다형성을 지원하기 위함이라고 생각한다. 만약 오버라이딩된 메서드의 접근 제어 수준을 낮게 설정할 수 있다면 LSP(리스코프 치환 원칙)을 어기게 된다. 리스코프 치환 원칙은 1988년 바바라 리스코프(Barbara Liskov)가 올바른 상속 관계의 특징을 정의하..
hyunsb
'분류 전체보기' 카테고리의 글 목록 (10 Page)