반응형

전체 글 354

[Java, 객체지향] 다형성이란? (Polymorphism)

[Java, 객체지향] 다형성이란? (Polymorphism) 다형성이란? 다형성은 하나의 코드가 여러 자료형으로 구현되어 실행되는 것이다. 즉, 같은 코드에서 여러 실행 결과가 나오는 것, 조상 타입 참조 변수로 자손 타입 객체를 다루는 것이다. ex. Customer c = new VIPCustomer(); 조상 타입(Customer) 참조 변수(c)로 자손 타입(VIPCustomer) 객체를 다룸 다형성은 정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나이며 객체지향 프로그래밍의 유연성, 재활용성, 유지보수성에 기본이 되는 특징이다. 참조변수가 조상 타입일 때와 자손 타입일 때의 다른 점은, 사용할 수 있는 멤버의 개수이다. 다형성을 사용하는 장점 다양한 여러 클래스를 하나의 자..

Java 2021.08.11

[Java, 객체지향] 오버라이딩, @Override Annotation(오버라이드 어노테이션)

오버라이딩 (overriding) 사전적 의미는 '다른 무엇보다 더 중요한 것, 더 우선시되는 것', 또는 동사로 '덮어쓰다'라는 의미이다. 코딩에서의 의미는, 상위 클래스에 정의된 메서드의 구현 내용이 하위 클래스에서 구현할 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메서드를 재정의할 수 있다는 특성을 말한다. 메서드 오버라이딩을 할 때의 조건은 아래와 같다. 1. 선언부는 변경 불가하고 내용만 변경 가능하다. 2. 접근 제어자가 상위 클래스의 메서드보다 좁은 범위로 변경할 수 없다. 3. 예외 선언은 상위 클래스의 메서드보다 많이 선언할 수 없다. @Override 어노테이션 (Annotation) 재정의된 메서드라는 의미로, 선언부가 기존의 메서드와 다른 겨웅 에러가 발생한다. 어노테이션..

Java 2021.08.11

[Java, 객체지향] 하위 클래스가 생성되는 과정 & 업캐스팅/다운캐스팅

1. 하위 클래스가 생성되는 과정 하위 클래스가 생성되는 과정 하위 클래스가 생성될 때 상위 클래스가 먼저 생성된다. 상위 클래스의 생성자가 호출되고, 하위 클래스의 생성자가 호출된다. 하위 클래스의 생성자에는 항상 상위 클래스의 생성자가 호출되어야 한다. 하위 클래스에서 상위 클래스의 생성자를 호출하는 코드가 없는 경우, 컴파일러는 상위 클래스 기본 생성자를 호출하기 위해 super()를 추가한다. super()로 호출되는 생성자는 상위 클래스의 기본 생성자이다. 만약 상위 클래스의 기본 생성자가 없는 경우(=매개변수가 있는 생성자만 있는 경우), 하위 클래스는 명시적으로 상위 클래스의 생성자를 호출해야 한다. 참조변수 super 객체 자신을 가리키는 참조변수이다. 인스턴스 메서드나 생성자에서만 사용 ..

Java 2021.08.11

[Java, 객체지향] 클래스 상속(inheritance)이란?

[Java, 객체지향] 클래스 상속 (inheritance)이란? 클래스에서 상속의 의미 새로운 클래스를 정의할 때 이미 구현된 클래스를 상속(inheritance)받아서 속성이나 기능이 확장되는 클래스를 구현하는 것 상속하는 클래스 상위클래스, parent class, base clasee, super class 하위 클래스보다 일반적인 개념과 기능을 가짐 상속 받는 클래스 하위 클래스, child class, derived class, subclass 상위 클래스보다 구체적인 개념와 기능을 가짐 하위 클래스는 상위 클래스의 모든 멤버를 상속받으므로, 하위 클래스의 멤버 개수는 상위 클래스의 멤버 개수보다 항상 같거나 많다. 또한, 상위 클래스의 변경은 하위 클래스에 영향을 미치지만 하위 클래스의 변경..

Java 2021.08.11

[Java, 객체지향] static 메서드, 인스턴스 메서드 비교

[Java, 객체지향] static 메서드, 인스턴스 메서드 비교 static 메서드 (=클래스 메서드) static으로 시작 객체 생성 없이 '클래스이름.메서드이름()'으로 호출 메서드 내에서 인스턴스 변수 사용 불가능 (매개변수만으로 사용 가능) ★ 인스턴스 메서드 호출 불가능 ★ 언제 static을 붙이는가? 인스턴스 변수를 사용하지 않을 때 (≒ 지역 변수를 사용할 때) ex) static long add(long a, long b) { return a+b; } 매개변수만으로 사용 가능하다. ex) Math.random() *지역 변수: 메서드 내에 선언한 변수 *static 메서드에 인스턴스 변수를 사용하면 에러 발생 인스턴스 메서드 static이 안 붙음 인스턴스 생성 후, '참조변수.메서드이..

Java 2021.08.10

[JavaScript] parseFloat() 사용법

[JavaScript] parseFloat() 사용법 parseFloat()는 문자열을 부동소수점(실수)으로 변환해주는 함수이다. 형식은 다음과 같다. parseFloat( string ) 띄어쓰기로 여러 개의 숫자가 이어져 있으면, 첫 번째 숫자만 바꾼다. 첫 문자가 숫자가 아닌 경우, NaN을 반환한다. (숫자로 변환할 수 있는 값도 해당됨) (ex) string = '12.345' 인 경우 : 12.345 반환 string = '12.345abcde' 인 경우 : 12.345 반환 string = "12.345 7.789" 인 경우 : 12.345 반환 string = "abc 12.345" 인 경우 : NaN 반환

[JavaScript] return문 설명

[JavaScript] return문 설명 return은 함수에서 반환하는 값을 정할 때 사용한다. return 반환값; function add(num1, num2) { add = num1 + num2; return add; } 위와 같이 코드를 짜면 add(=num1+num1) 값이 반환된다. num1=1, num2=2 이면 add=3이므로 3이 반환된다. 하지만, return 뒤에 add가 아닌 0을 입력하면, num1과 num2을 더한 add 값이 5이든 100이든 1000이든 항상 0이 반환되게 된다. function add(num1, num2) { add = num1 + num2; return 0; } 또한, return 뒤에 아무것도 입력하지 않으면 add에 num1과 num2를 더한 값이 저..

[JavaScript] ===와 ==의 차이 (!=와 !==의 차이)

[JavaScript] ===와 ==의 차이 (Identity vs Equality) == (Equality) 같음을 비교할 때 쓰이며, 같으면 true, 다르면 false를 반환한다. 타입 검사는 하지 않는다. === (Identity, Strict Equality) ===는 Identity라고 부르며, Strict Equality라고도 부른다. 즉, 같음을 비교할 때 ==보다 더 엄격하게 한다. 타입 검사도 하므로 같은 형식이어야 한다. 1 2 3 4 5 6 7 8 9 10 123 == '123' // true 123 == new String("123") // true '123' == new String("123") // true null == undefined // true 123 === '123'..

반응형