Java 37

[Java/Theory]07. 상속

7. 상속 - Constructor * 객체지향의 특징중 하나인 '객체는 서로 다른 상태를 가지고 있다'는 Constructor라는 Method에 접목된다. * 처음부터 설정된 값으로 똑같은 Instance들을 생성하고 각자만의 특징을 갖게 만든다면, 일일이 Instance의 속성을 바꿔야하기 때문에 코드의 효율성이 떨어지는 것은 물론 객체지향에 어긋난다. * 그러므로 처음에 Instance를 생성할 때, Constructor를 통하여 각자만의 상태로 Instance를 초기화 함으로서, * '객체는 서로 다른 상태를 가지고 있다'라는 특징을 보여주고 있다. * Constructor는 메모리에 Class를 적재하는 역할을 하고 있다. - super, this, super(), this() * super, ..

Java/Theory 2016.05.30

[Java/Theory]06. OOP

6. OOP(Object Oriented Programming) * OOP는 현실세계에 존재하는 것을 시스템으로 표현하는 방법론이다. * 현실세계의 모든 것을 객체라는 것으로 추상화 하여 프로그램상으로 반영하는 방식이다. * 각 객체간의 통신(Message)을 통해서 결과를 처리하는 방식이다. * 객체지향의 기본적인 원리로는 Abstraction, Encapsulation, Modularity 그리고 Hierarchy가 있다. * 이 원리들은 Object, Class, Polymorphism, Relationships라는 개념들에 적용하게 된다. * 이들이 지원하는 언어(Java, C++, C#)를 Object Oriented Programming Language라 부르며, Object Oriented ..

Java/Theory 2016.05.30

[Java/Theory]05. Reference

5. Reference 5-1. Reference Datatype의 키워드 1. new 해당 Datatype의 사이즈를 결정하는 동적 할당 키워드. A a = new A(); 의미 : new라는 키워드를 통해 class A를 메모리에 적재하여 instance를 생성한다. 변수 a는 생성된 인스턴스의 주소를 참조한다. 위의 경우 A라는 클래스를 instance화 하였다. 2. . Reference에서 관계를 참조하는 키워드 5-2. Call by value, Call by reference 1. Call by value. 값을 복사해서 함수에 넘겨주는 방식. 원본의 값이 변경될 가능성이 없다는 특징을 가지고 있지만, 값을 넘겨 줄때마다 고비용, 복사손실 문제가 발생하는 단점도 있다. Ex 1 : 1234 ..

Java/Theory 2016.05.30

[Java/Theory]04. Operator, Condition, Array

4. Operator, Condition, Array - + 정수형이나 실수형은 Datatype에 따라 Casting을 하며 혹은 하지 않고 더하는데 연산의 의미를 두지만 문자형의 경우 이 연산자를 Append라 부른다. System.out.println("aaa" + 1);의 경우 1이 문자형으로 Cast된다. - Shift, Bit Operator 자바는 인간과 친숙한 HLL(High Level Language)다. C계열의 언어는 컴퓨터와 친숙한 LLL(Low Level Language)이다. Shift, Bit는 Binary Operation이므로 LLL에 해당된다. 따라서 자바에서는 Shift, Bit연산은 사용할 수 있으나 자주 사용하지 않는다. - Condition if나 while안에 조건..

Java/Theory 2016.05.30

[Java/Theory]03. Datatype

3. Datatype 프로그램의 언어에서 해당 데이터들을 종류에 따라 처리하기 위해 분류된 것. 각 종류와 고유의 메모리 크기마다 표현하는 객체. Primitive Datatype과 Reference Datatype으로 분류가 된다. - Primitive Datatype * 크게 정수, 실수, 문자, 논리로 분류되며 이들 마다 데이터의 크기는 다르다. * 정수 : byte(1 byte), short(2 byte), int(4 byte), long(8 byte)로 분류되며 default type은 int다. * 실수 : float(4 byte), double(8 byte)로 분류되며 default byte은 double이다. * 문자 : char(2byte) * 논리 : boolean(1 bit) (lon..

Java/Theory 2016.05.30

[Java/Theory]02. 환경변수

2. 환경변수Command혹은 Terminal에서 프로그램을 실행하기 위해 경로와 함께 명령어가 입력된다.그러나 이 경로를 매번 입력하기가 불편하기 때문에 시스템 환경변수에서 설정하도록 한다. 1. JAVA_HOME 자바의 JDK가 설치된 경로( C:\Program Files\Java\jdk1.8.0_66 ) 2. path 운영체제에서 관리하는 경로. JAVA_HOME에 bin을 추가하여, bin에 있는 파일들을 command에서 파일명만 입력하면 실행할 수 있도록 운영체제가 경로를 잡아준다. (운영체제가 한다는게 무슨말?) 3. classpath package를 import하는데 있어 용이하게 하기 위한 경로?

Java/Theory 2016.05.30

[Java/Theory]01. 개요

1.개요자바는 C++를 기반하였고 C++의 혼란을 제거하는 단순성과 객체지향이 특징이다.자바 가상머신은 운영체제와 독립적이기 때문에 플랫폼에 독립적이다. 이에 따라 JDK(Java Development Kit)를 설치하는 이유는플랫폼에 독립적인 개발을 위하여 자바의 플랫폼인 JDK를 설치한다.허나 JDK는 오라클에 지원이 필요하므로 오라클과 OS에는 종속적이다. - JDK * Includes a complete JRE plus tool for developing debugging, and monitoring Java Application. * JDK는 Java flatform, J2SE Flatform이라 부르기도 한다. * JDK안에는 JRE(Java Runtime Environment)와 Tool이 ..

Java/Theory 2016.05.30