일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- X.org
- Java
- preprocessing
- dbms
- Physical Scheme
- Reference Type
- X윈도우
- 자바
- Polymolphism
- Unity
- spring
- Entity Set
- Inheritance
- 리눅스 마스터 1급
- Operator
- BFS
- External Scheme
- literal
- descriptive statistics
- OOP
- 리눅스
- systemd
- Mac
- Class
- selenium
- Binary Search
- 셀레니움
- Entity
- 백준
- python
- Today
- Total
목록Java (21)
Byeol Lo
Axiom - "모든 것은 객체로 이루어져 있다."를 머리 속에 담고 읽자. Class(클래스) 객체들은 클래스로 부터 생성된다. 클래스는 설계도이다. 우리가 조립할 때, 각 부품들을 설명서에 맞게 조립하듯이 클래스는 객체를 만들기 위한 설계도(Frame/Blueprint)에 해당한다. (물론 각 부품들도 객체라고 볼 수 있다.) 객체들은 서로 관계를 형성하면서 상호작용을 한다. 그 관계에는 다음과 같은 세 가지 유형이 있다 Association : 연관 Composition/Aggregation : 구성 Inheritance : 상속 위의 관계들에 의해서 모든 객체들은 서로서로 영향을 주면서 실제 세계를 가상 세계로 구현시킬 수 있다. OOP(Objected Oriented Programming) 모든..
보통 프로그램들은 일련의 순서로 처리가 된다. 이를 Sequential flow라고 하는데, 우리는 어떤 조건에 따라 이 순차 처리를 경우를 나눠 처리하고 싶을 때가 있다. Condition 조건문 보통 Relational Operators(==, =, ), Conditional Operators(||, &&, !) 등을 사용해서 조건문 표현을 하게된다. IF Statements : 다양한 변수에 대한 조건을 처리하고 싶을때 사용 Switch Statements : 하나의 변수에 대한 다양한 값에 따라 조건을 달리 하고 싶을때 사용 if((n = 2) == 3) { // 값 할당과 동시에 조건문 비교 System.out.println("hihi"); } int n = 10; switch(n) { case..
수식을 프로그래밍언어에서는 expression이라고 부르고, 그안에는 operands(피연산자)와 operators(연산자)가 있다. Priority Operator Associativity Operand Description 1 [] . ++ -- +, - ~ ! new (type) ⇐ All Reference Integer, Float-point Integer, Float-point Integer, Float-point Integer Boolean Reference All 배열 요소 지정 객체 멤버 지정 값 증가 값 감소 부호에 사용 비트Bit 반전 논리Boolean 반전 객체 생성 (Casting) 형 변환 연산자 2 +, /, % ⇒ Integer, Float-point 산술 계산 3 +, - +..
키보드와 같은 데이터를 입력 받으려고 할 때, Stream형태로 입력을 받을 수 있도록 하는 것이 System.in이다. System.in은 사용자의 입력을 byte 형태(byte stream)로 받고, 사용자 편의에 초점이 맞춰져 있지 않아서 이를 위해 java.util에서는 Scanner 객체를 지원하고, Scanner는 이런 System.in의 byte Stream을 꺼내서 사용하게 된다. Scanner은 사용자에게 편리한 입력들을 제공하게 된다. 우리는 입력을 할 때 Enter 단위로 데이터를 끊어서 입력하지만, Scanner는 Whitespace에 대하여 데이터들을 나누게 된다. Whitespace는 다음과 같이 back slash(\)를 통해서 주로 선언이 되는 문자이다. Whitespaces..
Java의 서로 용량(크기)이 다른 데이터 타입끼리의 연산을 살펴보자. Casting(형변환) 형변환을 Casting이라고 하는데, 이는 "연산 수행시가 아니"라 그냥 형변환이 일어나는 곳에 사용하는 개념이다. (연산 수행시는 뒤에 나올 예정이다.) Narrowing Casting (축소 형변환, 강제 형변환) 크기가 큰 데이터 타입에서 작은 데이터 타입으로 변환하고 싶을 때 적용(사용)되는 개념이고, 일반적으로 그냥 Casting이라고 함은 이를 의미한다. long bigNum = 100000000000000000L; int num = (int) bigNum; //(Narrowing Casting 사용) Widening Casting (확대 형변환, 자동 형변환) 크기가 작은 데이터 타입에서 큰 데이터..
모든 프로그래밍 언어는 자원을 관리하는 방법, 코드, 컨벤션을 제공한다. 해당 포스트은 데이터를 저장하는 방법을 알아본다. Variables (변수) 선언 방법은 다음과 같다. type identifier; 변수의 type을 먼저 써주고 변수의 이름을 써준다. Java는 Python과는 다르게 Statement의 마지막에 Instruction의 끝남을 의미하는 ;을 붙여주어야 한다. 해당 선언은 RAM의 어떤 공간을 지칭하게 되는 이름이 붙어지며, type에 따라 그 space의 size가 달라진다. identifier 에 들어갈 변수 이름은 해당 데이터가 어떤 데이터인지 직관적이고 제 3자가 봐도 알 수 있도록 이름을 지어준다. 그리고 모든 변수의 이름을 지으려고 할 때는 다음 rules를 따르도록 한..
Java의 소개에 앞서 사전 개념들을 먼저 소개한다. Machine Language 오로지 Machine만 읽을 수 있는(readable) 코드이다. 특징으로는 Binary(0 or 1)로 되어 있으며, CPU만 오로지 이 코드들을 이해할 수 있는 언어이다. Programming Language 사람들이 읽을 수 있는 코드들을 프로그래밍 언어라고 부른다. 컴퓨터에게 명령을 하려면 Machine Language를 써야 하는데, 우리는 이에 대해 정확히 알지 못할 뿐더러 쓰기 난해하고 복잡하다. 따라서 우리는 Machine 과 Human을 이어주는 하나의 의사소통 수단인 Programming Language를 쓰게 된다. 따라서 Bridge between a machine and a human이라고 할 수 ..
java의 IDE(integrated development environment)로는 Intellij가 주로 쓰인다. 물론 language에 상관없는 VSC를 쓰는게 더 좋을 수 있지만, java에 특화된 환경이어서 관련 기능들을 많이 제공해준다. Intellij 공식 홈페이지에 들어가서 Community Edition을 다운받아준다. MacOS는 설치파일이 .dmg로 되어 있다. 파일을 실행시키면 기본적으로 설치 위치, 기본 자바 환경 변수 세팅을 지정한다. ( 후에 설정을 따로 할 수 있으니 Next만 눌러줘도 된다. ) 해당 화면의 좌측 메뉴에는 역할 별로 Projects, Customize, Plugins, Learn이 보이게 된다. Projects는 말 그대로 어떠한 프로세스들을 모아놓은 업무,..
현실에서 상속이라는 것은 부모의 자산을 자식이 대신 물려받는 것이다. 객체 지향 프로그램에서도 상속이라는 개념이 사용된다. 클래스 간의 부모 자식의 관계를 명시할 수 있다. 프로그램에서는 부모 클래스를 상위 클래스라고 부르기도 하고, 자식 클래스를 하위 클래스라고 부르기도 한다. 다음은 extends 를 사용해 B를 A에 상속시키는 예제이다. // A.java pubilc class A { int field1=100; void main() { } } // B.java public class B extends A { void main() {} } // App.java public class App { public static void main(String[] args) { B b = new B(); Sys..
데이터 타입에는 크게 기본 타입, 참조 타입이 있는데, 서로간의 선언된 변수들은 차이가 있다. primitive 타입으로 선언된 변수는 실제값을 변수 안에 저장하지만, 참조 타입인 배열, 열거, 클래스, 인터페이스를 이용해서 선언된 변수는 메모리의 번지를 값으로 갖는다. 번지를 통해 객체를 참조한다는 뜻에서 참조 타입이라고 부른다. 변수들은 스택영역에 생성되고 객체는 힙 영역에 생성되는데, 참조 타입 변수가 100번지 주소를 가지고 있는것 자체는 스택 영역에 있는 것이고 스택 영역의 값을 읽어서 힙영역의 객체에 접근하게 된다. 참조타입을 알아보기 전에 우선 JVM이 사용하는 메모리 영역을 알아보자. java.exe로 JVM이 시작되면 JVM은 운영체제에서 할당받은 메모리 영역(Runtime Data Ar..