JavaScript (13) 썸네일형 리스트형 [JAVA] 다형성(polimorphism)에 대해서 1. 다형성이란? 객체지향 프로그래밍의 3요소(캡슐화, 상속, 다형성) 중 하나인 다형성에 대해서 알아보자. 다형성이란 '여러 가지 형태를 가질 수 있는 능력'을 의미한다. 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 이를 좀 더 구체적으로 말하자면, 조상 클래스 타임의 참조변수로 자손 클래스의 인스턴스를 참조할 수 있도록 하였다는 것이다. Class Tv { boolean power; int channel; void power() {power=!power;} void channelUp() {++channel;} void channelDown() {--channel;} } Class CaptionTv extends Tv { String.. [Java] 제어자(modifier)에 대해서 - public/protected/default/private (+static) 1. 제어자(modifier)란? 제어자(modifier)는 클래스, 변수 또는 메서드의 선언부에 함께 사용되어 부가적인 의미를 부여한다. 제어자의 종류는 크게 접근 제어자와 그 외의 제어자로 나눌 수 있다. 제어자의 종류 접근 제어자: public, protected, default, private 그 외: static, final, abstract 등 제어자는 하나의 대상에 여러 제어자를 조합하여 사용할 수 있다. 여기서 대상은 클래스나 멤버변수, 메서드를 말한다. 단, 접근 제어자는 한 번에 하나만 사용할 수 있다. 즉, 하나의 대상에 public과 private을 함께 사용할 수 없다. 1. static 제어자 static은 '클래스의' 또는 '공통적인'의 의미를 가지고 있다. 인스턴스변수는 하나.. [Java] 상속 (inheritance)에 대해서 1. 상속(inheritance)의 개념과 장점 상속(inheritance)이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해 코드를 공통적으로 관리하기 때문에 중복을 줄이고 프로그램의 생산성과 유지보수에 크게 기여할 수 있다. class Parent { } class Child extends Parent { // ... } 상속은 위 코드와 같이 표현한다. 서로 다른 클래스가 있고 한 클래스가 extends로 다른 한 클래스를 상속받을 때 두 클래스는 상속 관계에 있다고 한다. 상속을 받는 클래스는 자손 클래스 또는 자식 클래스라고 하며, 상속하는 클래스는 조상 클래스 또는 부모 클래스라고 한다. 위 코드에서 부모 클래스는 Parent, 자식 클래스는 Child가 된다. 조.. [Java] 오버로딩(Overloading)과 오버라이딩(Overriding) 차이 결론부터 말하자면, 오버로딩과 오버라이딩은 명백히 다르다. 오버로딩(Overloading): 기존에 없는 새로운 메서드를 추가하는 것 (new) 오버라이딩(Overriding): 상속받은 메서드의 내용을 변경하는 것 (change, modify) 1. 오버로딩(Overloading) 멤버변수는 같은 클래스 내에서 동일한 이름으로 쓰일 수 없다. 클래스 내에서 구별이 가능해야 하기 때문이다. 그러나 메서드에 한해서는 다르다. 자바에서는 동일한 이름을 가진 메서드를 정의할 수 있다. 단, 클래스 내에서 구별이 가능해야 하기 때문에 매개변수의 개수 또는 타입이 달라야 한다. 이처럼 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '메서드 오버로딩(mothod overloading)' 또는 '오버로.. [Java] Object 클래스의 toString() 메서드 java.lang 패키지는 자바 프로그래밍에 가장 기본이 되는 클래스들을 포함하고 있는 패키지이다. 이 java.lang 패키지에는 모든 클래스의 최고 조상인 Object 클래스가 있는데, 이번 포스팅에서는 Object 클래스의 메서드 toString()에 대해 알아보자. 1. toString() - 객체 자신의 정보를 문자열로 반환한다. 이 메서드(toString)는 인스턴스에 대한 정보를 문자열(String)로 제공할 목적으로 정의된 함수이다. 인스턴스에 대한 정보는 대부분 인스턴스 변수에 저장된 값들을 말하며, toString()을 통해 문자열로 표현된다. public String toString() { return getClass().getName() + "@" + Integer.toHexStri.. [JavaScript] 알아두면 유용한 배열(Array) APIs 자바스크립트(JavaScript)에서 제공하는 API 중 배열을 다루는 유용한 함수들이 많다. 배열은 프로젝트에서 필수적으로 다뤄지므로 유용한 API들을 꼭 짚고 넘어가자. 배열의 순회 (forEach) 배열의 추가 (push, unshift, splice) 배열의 삭제 (pop, shift, splice) 배열의 검색 (indexOf, lastIndexOf) 두 배열 합치기 (concat) 1. Array.forEach() forEach() 메서드는 배열의 각 요소마다 특정 액션을 취해준다. // forEach 구문 arr.forEach(callback(currentvalue[, index[, array]])[, thisArg]) forEach()은 첫번째 파라미터에 콜백(callback)함수를 필수적.. [JavaScript] 자바스크립트 메서드 map(), filter(), reduce() 사용 자바스크립트(JavaScript)에서 배열을 쉽게 다룰 수 있도록 하는 메서드 map(), filter(), reduce()에 대해 알아보자. 간단히 정리하자면, map() - 배열의 각각의 요소를 활용해서 새로운 배열을 만들고 싶을 때 filter() - 조건에 맞는 특정 요소만 추출해서 새로운 배열을 만들고 싶을 때 reduce() - 각각의 요소를 활용해서 어떤 값을 얻고 싶을 때 (누적 값) 사용한다. 1. map() map() 메서드는 배열의 각각 요소에 대해 주어진 함수를 실행하여 반환한 결과를 모아 새로운 배열을 만들어준다. 1-1) arr.map(callback(currentValue)) var arr = [1, 2, 3, 4, 5]; var mapArr = arr.map((i) => i .. [Java] 문자열(String)비교 - 등가 비교 연산자(==)와 equals()의 차이 자바에서 String 타입의 문자열을 비교할 때 등가 비교 연산자(==)와 equals()는 차이가 있다. 자바에서 String타입의 문자열을 비교할 때 ==가 아닌 equals()라는 메서드를 이용한다. 1. 등가 비교 연산자(==) 등가 비교 연산자(==)는 기본 자료형에 대해서는 값 자체를 비교하지만 참조 자료형에 대해서는 주소 값을 비교한다. String은 참조 자료형으로 객체를 생성할 때마다 다른 주소 값을 갖게 된다. 즉, 내용이 같은 객체이더라도 다른 주소 값을 갖게 된다. String str1 = "abc"; String str2 = "abc"; str1와 str1는 같은 내용을 갖고 있지만 다른 주소 값을 가진다. 2. 참조 자료형 String 기본적으로 String 변수를 선언할 때는 .. 이전 1 2 다음