본문 바로가기

프로그래밍 공부

(214)
Java - Java API 클래스 : String 클래스 String 클래스 설명 java.lang.String Java에서 String 클래스의 문자열과 관련된 작업을 할때 사용하는 메서드가 포함된 클래스 charAt() 해당 문자열의 특정 인덱스에 해당하는 문자를 반환 compareTo() 해당 문자열을 인수로 전달된 문자열과 사전 편찬 순으로 비교, 대소문자를 구분 compareToIgnoreCase() 해당 문자열을 인수로 전달된 문자열과 사전 편산 순으로 비교, 대소문자를 구분안함 concat() 해당 문자열의 뒤에 인수로 전달된 문자열을 추가한 새로운 문자열을 반환 indexOf() 해당 문자열에서 특정 문자나 문자열이 처음으로 등장하는 위치의 인덱스를 반환 trim() 해당 문자열의 맨 앞과 맨 뒤에 포함된 모든 공백 문자를 제거 toLowerCa..
Java - Java API 클래스 : Object 클래스 Object 클래스 설명 java.lang Java에서 가장 기본적인 동작을 수행하는 클래스 집합, impot문을 사용하지 않아도 사용이 가능 java.lang.Object 모든 Java 클래스의 최고 조상 클래스, 모든 Java 클래스는 Object 클래스의 메서드 사용이 가능 toString() 해당 인스턴스에 대한 정보를 문자열로 반환, 반환값은 클래스명과 함께 구분자로 @가 사용 equals() 해당 인스턴스를 매개변수로 전달받는 참조 변수와 비교해 결과를 boolean값으로 반환 clone() 해당 인스턴스를 복제해 새로운 인스턴스를 생성하고 반환, 단순 필드값만을 복사 java.lang package java.lang 패키지는 Java에서 가장 기본적인 동작을 수행하는 클래스들의 집합이며, j..
Java - Java의 다형성 예제 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..
Java - 내부 클래스(Inner class) 내부 글래스는 하나의 클래스 내부에 선언된 또 다른 클래스를 의미한다. 이러한 내부 클래스는 외부 클래스에 대해 두 개의 클래스가 서로 긴밀한 관계를 맺고 있을 때 선언할 수 있다. 1 2 3 4 5 6 7 8 // 내부 클래스(Inner class)의 위치 class Outer { // 외부 클래스 ... class Inner{ // 내부 클래스 ... } ... } cs 내부 클래스의 장점 1. 내부 클래스에서 외부 클래스의 멤버에 손쉽게 접근할 수 있게 된다. 2. 서로 관련 있는 클래스를 논리적으로 묶어서 표현하여, 코드의 캡슐화를 증가시킨다. 3. 외부에서는 내부 클래스에 접근할 수 없어 코드의 복잡성을 감소 시킨다. 내부 클래스 설명 정적 클래스(Static) static 키워드를 가진 클래스..
Java - 인터페이스(Interface) 자식 클래스가 여러 부모 클래스를 상속받을 수 있다면 다양한 동작을 수행할 수 있다는 장점을 가지게 될 수 있는데, 클래스를 이용하여 다중 상속을 할 경우 메서드 출처의 모호성 등 여러가지 문제가 발생할 수 있어 Java에서는 클래스를 통한 다중 상속은 지원하지 않는다. 하지만 다중 상속의 이점을 버릴 수는 없기에 Java에서는 인터페이스(Interface)라는 것을 통해 다중 상속을 지원하고 있다. JavaScript의 프로토타입(Prototype)과 비슷한 개념이다. 인터페이스는 다른 클래스를 작성할 때 기본이 되는 틀을 제공하면서, 다른 클래스 사이의 중간 매개 역할까지 담당하는 일종의 추상 클래스를 말한다. Java에서 추상 클래스는 추상 메서드뿐만 아니라 생성자, 필드 그리고 일반 메서드도 포함..
Java - 다형성(Polymorphism) 다형성은 하나의 객체가 여러가지 타입을 가질 수 있는 것을 의미한다. Java에서 이러한 다형성을 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 구현하고 있다. 다형성은 상속, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징중 하나다. 1 2 3 4 5 6 7 class Parent { ... } class Child extends Parent { ... } ... Parent parent = new Parent(); // 허용 Child child = new Child(); // 허용 Parent parent = new Child(); // 허용 Child child = new Parent(); // 오류 발 cs 특정 타입의 참조 변수로는 당연히 같은 타..
Java - 상속(Inheritance) 상속이란 기존의 클래스에 기능을 추가하거나 재정의 하여 새로운 클래스를 정의하는 것을 의미한다. JavaScript에서는 클래스보다 프로토타입을 사용하지만 상속에 대한 개념은 클래스를 사용하는 Java 와 비슷하다. 상속을 이용하면 기존에 정의되어 있는 클래스의 모든 필드와 메서드를 물려받아 새로운 클래스를 생성할 수 있다. 이떄 기존에 정의되어 있던 클래스를 부모 클래스(Parent class) 또는 슈퍼 클래스(Super class) 또는 기초 클래스(Base class) 라고 부르며, 상속을 통해 새로 생성이 되는 클래스를 자식 클래스(Child class) 또는 서브 클래스(Sub class) 또는 파생 클래스(Derived class)라고 부른다. 상속은 세 가지 장점이 있다. 1. 기존에 작성..
Java - 기본 생성자(Default Constructor) 자바의 모든 클래스에는 하나 이상의 생성자가 정의되어 있어야 한다. 하지만 특별히 생성자를 정의하지 않고도 인스턴스를 생성할 수 있는데, 자바 컴파일러가 기본 생성자를 기본적으로 제공해 주기 때문이다. 기본 생성자는 매개변수를 하나도 가지지 않고, 아무런 명령어도 포함되어 있지 않다. 자바 컴파일러는 컴파일 시 클래스에 생성자가 하나도 정의되어 있지 않으면 자동으로 다음과 같은 생성자를 추가한다. 기본적인 문법은 클래스명(){} 이며 예시는 아래와 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Car{ private String modelName = "소나타"; private int modelYear = 2016; private String color = "파란색..