일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- jpa
- 미국유학생활
- 미국대학
- 개인 프로젝트 개발일지
- Kenneth Park
- 해외유학
- California State University Sacramento
- F1학생비자
- 미국유학
- 유학생 준비물
- 자바 스터디
- 미국유학생
- 개발일지
- 케네스로그
- 미국대학생활
- i-20
- Java 스터디
- 자바
- 만다라트프로젝트
- 2+2
- 유학생대학생활
- java
- 사이드프로젝트
- JVM아키텍처
- 케네스
- 비전공자 git
- CSUS
- 파이데이아창의인재학과
- 복수학위제도
- 부산외대
- Today
- Total
목록자바 스터디 (9)
케네스로그
인터페이스 정의 인터페이스는 구현체에 대한 기능을 보증(약속)하기 위한 장치라고 할 수 있다. 인터페이스를 구현하는 클래스는 여러개의 인터페이스를 함께 구현할 수 있으며, 구현하기 위해 implements 키워드를 사용한다. 이는 abstract class를 구현하기위해 상속(extends)받는 것과 유사하다. 인터페이스는 body부분이 생략된 추상화 클래스의 집합이다. 따라서, 오직 메소드의 시그니처와 필드만 지닌다. 메소드는 정의되지 않는다 정적 변수처럼 필드를 정의하고 접근할 수 있다. interface Computer { public void playGame(String gameName); public void searchGoogle(String keyword); } interface Phone ..
package 키워드 package는 관련된 클래스들을 그룹화하기 위해 사용되며, 디렉토리의 폴더와 유사하다. package는 두가지의 종류로 나누어진다. build-in package user-defined package 빌트인 패키지 build-in package 자바 개발환경에서 Java API는 미리 만들어진 클래스들로 이루어진 라이브러리이다. 이 라이브러리는 패키지와 클래스로 나뉘어지는데, 개발자는 import할때 클래스 하나만 import 할 수도 있지만, 해당 클래스가 속한 package전체를 import 할 수도 있다. import java.util.ArrayList; // ArrayList class 하나만 import import java.util.*; // ArrayList가 속해있는..
메소드 디스패치 참조 https://blog.naver.com/swoh1227/222181505425 메소드 디스패치는 런타임에 어떤 메소드를 사용할것인지 정해지는 방법을 말합니다. 정적 메소드 디스패치 static method dispatch public class Vehicle{ public void move() { System.out.println("이동중"); } } public class Bicycle extends Vehicle { public void move() { System.out.println("페달 밟으며 이동중"); } } public class Car extends Vehicle { public void move() { System.out.println("엑셀 밟으며 이동중");..
객체의 생성 new 키워드의 이해 new 키워드는 클래스의 인스턴스를 생성하기위해 사용된다. String s = new String(); String name = "kenneth"; Person p = new Person(); 인스턴스화(instantiate)는 새로운 객체를 위해 힙 영역의 메모리를 할당하고, 변수에 할당된 메모리주소(reference)를 반환한다. 런타임에 새로운 객체를 위해 힙 영역의 메모리를 할당한다 객체의 생성자가 실행된다 새로운 객체를 위해 힙 영역에 할당된 메모리 주소는 스택 영역의 변수에 저장된다. new키워드를 사용하여 클래스의 객체를 생성한다. String s = new String(); 메모리가 할당되며, 할당된 메모리의 주소(reference)가 반환된다. 필드가 기..
클래스 클래스는 객체에 대한 프로토타입 또는 청사진이라고 할 수 있습니다. 객체는 속성(property)과 메소드(method)들을 지니며, 이것은 클래스를 통해 정의할 수 있습니다. 클래스를 정의하는 방법 접근제어자(modifier) public 또는 디폴트(default). public인 경우, 어떠한 class에서든 접근할 수 있다 class 키워드 class 이름 class의 첫글자는 대문자로 시작한다 body superclass: extends 키워드를 톨해 부모클래스를 명시 interface: 1개 이상의 인터페이스를 implements 키워드를 통해 명시 modifier class class_name extends super_class implements interfaces { // clas..
관계 연산자 Comparison Operator 관계연산자는 같은 타입의 값들을 비교하는 연산자를 말하며, 결과 값은 true 또는 false로 반환합니다. 균등연산자, 관계연산자 equality & relational operator == equal to != not equal to > greater than >= greater than or eqaul to
쉬프트 연산자 shift operator shift v. 옮기다 이동하다 쉬프트 연산자는 비트 표현의 자릿수를 옮기는 연산을 말합니다. 비트 연산자와 마찬가지로 저수준에서 사용할 수 있으며, 2진법 체계의 특성을 응용하여 연산을 할 수 있습니다. 왼쪽 쉬프트 연산 1)); // 101 System.out.println("y>>1 : "+Integer.toBinaryString(y>>1)); // 11 Unsigned 쉬프트 연산 >>> unsigned shift는 쉬프트 연산 후 밀어버린 부분을 전부 0으로 채워줍니다. 단, >>>연산은 음수를 보장하지 않습니다. long b = -2147483648 // 1000 0000 0000 0000 0000 0000 0000 0000 System.out.prin..
비트, 쉬프트 연산은 주로 네트워킹 작업에서 사용되는 저수준의 연산자입니다. 보통은 플래그를 이용한 테스트에서 사용됩니다. 비트수준의 연산은 기본적으로 2진 연산과 보수 시스템에 대한 이해를 필요로 합니다. 💡low-level연산의 표현 단위 long타입이 포함된 경우, 결과는 long타입(8byte/32bit)으로 표현된다. 그외에는 int타입(4byte/16bit)으로 표현됨. 🛑 bitwise 연산은 실수, boolean, 배열, 객체는 사용할 수 없다. 비트 보수 연산자 ~ bitwise complement 비트 결과 0 1 1 0 ~ 단일 연산은 not 연산과 마찬가지로 피연산자 값의 비트 표현식에 반전을 취합니다. 12의 2진법 표현은 1100, 비트 보수 연산의 결과는 0011 byte b ..
연산에 사용되는 기호를 연산자 operator라고 하며, 연산자와 함께 연산되는 값을 피연산자 operand라고 합니다. 이러한 연산자와 피연산자의 연산과정을 연산식 expression이라고 하죠. 산술 연산자 Arithmetic Operator 산술연산자는 부동소수점, 문자형, 정수형과 함께 사용할 수 있으며, 연산의 결과는 숫자 타입(byte, short, int, long ...)으로 결과값이 나옵니다. 더하기 + Addition System.out.println(5+3); // 8 System.out.println(5+3.0); // 8.0 Numeric type: 실수형이 포함된 경우, 실수형으로 캐스팅되어 연산됩니다. System.out.println("Kenneth" + "Log"); // ..