목록기술개념정리(in Java) (8)
개발하고 싶은 초심자
1. 제네릭(Generic) : 클래스나 메서드의 코드를 작성할 때 타입을 구체적으로 지정하는 것이 아닌 추후 지정할 수 있도록 일반화하는 것. → 작성한 클래스 또는 메서드의 코드가 특정 데이터 타입에 얽매이지 않게 해 둔 것. // Box 클래스는 오로지 String 타입의 데이터만을 저장할 수 있는 인스턴스를 만들 수 있다. // 다양한 타입의 데이터를 저장할 수 있는 객체를 만들고자 한다면 각 타입별로 별도의 클래스를 만들어야 한다. class Box { private String item; Box(String item) { this.item = item; } public String getItem() { return item; } public void setItem(String item) { t..
1. 상속 : 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소. → 두 클래스를 상위 클래스와 하위 클래스로 나누어 상위 클래스의 멤버(필드, 메서드, 이너 클래스)를 하위 클래스와 공유하는 것을 의미한다. → 상위 클래스와 하위 클래스를 '서로 상관관계가 있다'라고 하며 하위 클래스는 상위 클래스가 가진 모든 멤버를 상속받게 된다. ⇒ 하위 클래스의 멤버 개수는 언제나 상위 클래스의 그것과 비교했을 때 같거나 많다. (상속받았다 보다는 ~ 클래스로부터 확장되었다 라는 표현이 더 적절하다) ex) → Programmer, Doctor, Teacher 세 개의 클래스에 공통적인 속성과 기능이 정의되어 있음. ⇒ People 클래스가 상위 클래스, Programmer, Doctor, T..
보호되어 있는 글입니다.
1. OOP(Object Oriented Programming / 객체지향 프로그래밍) 참고링크 : Class를 정의하여 객체를 생성, 사용하는 방식. → 중복된 코드를 줄이고 코드의 재사용성을 높이면서 유지보수가 편리해진다. (1) 객체(Object) class Villager { // 변수 private String name; private String gender; // 메소드 void personaility() { ... }; void job() { ... }; } class Villagers { public static void main(String[] args) { Villager Haley = new Villager(); // Villager 클래스를 기반으로 생성된 Haley 인스턴스 Vi..
1. 래퍼 클래스(Wrapper Class) : 기본 자료 타입(primitive type)을 객체(포장 / wrapper 객체)로 다루기 위해서 사용하는 클래스들 → 프로그래밍을 하다 보면 기본 타입의 데이터를 객체로 표현해야 하는 경우가 종종 있다. 대표적으로 이후 배우게 되는 컬렉션에서 사용하는 데이터 타입은 모두 객체로 포장된 타입을 사용한다. → 기본 타입의 값을 내부에 두고 포장하기 때문이다. 래퍼 클래스로 감싸고 있는 기본 타입 값은 외부에서 변경할 수 없으며, 만약 값을 변경하고 싶다면 새로운 포장 객체를 만들어야 한다. → 래퍼 클래스는 java.lang 패키지에 포함되어 있는데, 다음과 같이 기본 타입에 대응되는 클래스들이 있다. → char 타입과 int 타입이 각각 Character..
1. 연산자 : 하나의 값 또는 여러 개의 값을 피연산자로 하여 새로운 값을 만들어내는 기호. ① 산술 연산자 : 사칙연산에 사용되는 연산자와 나머지 연산자(%) int num1 = 1; int num2 = num1 + 2; // num2 -> 3 int num3 = num2 - 1; // num3 -> 2 int num4 = num3 * 3; // num4 -> 9 int num5 = num4 / 2; // num5 -> 4 int num6 = num5 % 3; // num6 -> 1 // 우항에 0은 존재할 수 없다(어떤 수를 0으로 나눌 수 없다) // 좌항과 우항이 모두 int형이면 그 결과도 int형이다 // 소수점 이하의 값은 버려지고 몫만 결과로 반환된다 int num1 = 9 / 0; //..
참고링크-TCP School(Java) ‣ 기본 템플릿 이해하기 public class App { public static void main(String[] args) { System.out.println("Hello, World!"); // 콘솔 출력을 위한 명령어 } } (이제부터 하는 모든 설명은 기본 템플릿 코드에 입각하여 작성함) 1. 클래스(class) ‣ 자바는 모든 코드를 클래스를 사용하여 작성하고, 사용할 때 클래스를 인스턴스화하여 객체로 사용하게 된다 (= 자바는 객체지향언어) 2. 접근 제한자(Access Modifier) : 클래스, 변수, 메서드의 접근 권한을 명시적으로 작성한 키워드. → 어떤 클래스의 변수와 메서드를 다른 클래스에서 사용 할 수 있는 지 없는 지에 대해 정의할 ..
1. Java(자바) : 컴파일 과정을 거쳐(=컴파일러를 통해) 기계어로 변환되는 언어 ✷ 컴파일러와 인터프리터의 차이 ‣ 컴파일러: 모든 파일을 기계어로 변환, 실행하는 구조를 가지고 있어 컴파일 과정을 거치는 언어들은 빠른 속도를 보여줌. ‣ 인터프리터: 한 줄씩 실행됨. ① 자바의 특징 ‣ 이식성이 높음 : 자바 이전의 언어들은 특정 CPU에서만 작동하거나(어셈블리), 특정 OS에 따라 다르게 작성해야 하는(C, C++) 언어들이 대부분임. 자바는 이러한 문제를 해결하기 위해 JRE(Java Runtime Environment)가 설치되어 있는 모든 운영체제에서 실행이 가능하도록 만들어졌음. ✷ JRE: JVM + 표준 클래스 라이브러리 ‣ 객체 지향 언어(OOP / Object Oriented P..