본문 바로가기

728x90
반응형

JAVA

(43)
자바(JAVA) : 객체지향 프로그래밍 II (2) - 오버라이딩 오버라이딩(overriding) [1] 오버라이딩 이란? 조상클래스로부터 상속받은 메서드의 내용을 변경하는 것을 오버라이딩이라고 한다. 상속받은 메서드를 그대로 사용하기도 하지만, 자손 클래스 자신에 맞게 변경해야하는 경우가 많아, 이럴때 조상의 메서드를 오버라이딩 한다. class Point{ int x; int y; String getLocation() { return "x :" + x + ", y :" + y; } } class Point3D extends Point{ int z; String getLocation() {//오버라이딩 return "x :" + x + ", y :" + y + ", z : " + z; } } [2] 오버라이딩의 조건 오버라이딩은 매서드 내용만을 새로 작성하는 것이므로..
자바(JAVA) : 객체지향 프로그래밍 II (1) - 상속 상속(inheritance) [1] 상속의 정의와 장점 상속이란, 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 자바에서 상속을 구현하는 방법은 새로 작성하고자 하는 클래스의 이름 뒤에 상속받고자 하는 클래스의 이름을 키워드 'extends' 와 함께 써주기만 하면 된다. 새로 작성하려는 클래스가 Child 이고 상속받고자 하는 기존 클래스가 Parent 일때 class Child extends Parent{ ... } 이 두개의 클래스는 서로 상속 관계에 있다고 하며, 상속해주는 클래스를 '조상 클래스'라 하고 상속 받는 클래스를 '자손 클래스'라 한다. 조상 클래스 - 부모 클래스, 상위 클래..
자바(JAVA) - 객체 지향 언어 : 변수와 메서드(3) 오버로딩, 생성자, 변수초기화 자바(JAVA) - 객체 지향 언어 : 변수와 메서드 - https://tigre911.tistory.com/40 자바(JAVA) - 객체 지향 언어 : 변수와 메서드(2) https://tigre911.tistory.com/41 오버로딩(overloading) [1] 오버로딩이란? 메서도 같은 클래스 내에서 각기 다른 이름을 가져야 한다. 그러나 자바에서는 같은 이름을 가진 메서드가 있더라고 하더라도 매개변수의 개수, 혹은 타입이 다르다면 같은 이름을 사용해서 메서드를 정의할 수 있다. 이처럼, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '메서드 오버로딩' 또는 '오버로딩'이라고 한다. [2] 오버로딩의 조건 1. 메서드 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야한..
자바(JAVA) - 객체 지향 언어 : 변수와 메서드(2) 변수와 메서드 [6] JVM의 메모리 구조 응용프로그램이 시작되면, JVM은 시스템으로부터 프로그램을 수행하는데 필요한 메모리를 할당받고 JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. 그 중 3가지 주요영역(method area, call stack, heap)이 있다. 1. 메서드 영역(method area) 어떤 클래스가 실행되면, JVM은 해당 클래스의 클래스파일(*.class)를 일고 분석하여 클래스에 대한정보를 메서드 영역에 저장한다. 이때, 그 클래스의 클래스변수(class variable)도 이 영역에 함께 생성된다. 2. 힙(heap) 인스턴스가 생성되는 공간. 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성된다. 즉, 인스턴스변수(instance variable..
자바(JAVA) - 객체 지향 언어 : 변수와 메서드(1) 변수와 메서드 [1] 선언위치에 따른 변수의 종류 변수는 클래스변수, 인스턴스변수, 지역변수 세종류가 있다. 변수의 종류를 결정 짓는 중요한 요소는 '변수의 선언된 위치' 이다. 멤버 변수를 제외한 나머지 변수들은 모두 지역변수이고, 멤버 변수 중 static이 붙은 것은 클래스 변수, 붙지 않은 것은 인스턴스 변수이다. 변수의 종류 선언 위치 생성시기 클래스 변수 클래스 영역 클래스가 메모리에 올라갔을 때 인스턴스 변수 인스턴스가 생겼을 때 지역 변수 클래스 영역 이외의 영역 (메서드, 생성자, 초기화 블럭 내부) 변수 선언문이 수행되었을 때 1. 인스턴스변수(instance variable) 클래스 영역에 선언, 클래스의 인스턴스를 생성할 때 만들어진다. 인스턴스 변수 값을 읽어 오거나 저장하기 위해..
자바(JAVA) - 객체 지향 언어 : 클래스와 객체 객체 지향 언어 객체 지향 언어는 기존의 프로그래밍 언어에 몇가지 새로운 규칙을 추가한 보다 발전된 형태의 것이다. 객체 지향 언어의 특징 1. 코드의 재사용성이 높다 - 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다. - 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. - 제어자와 메서드를 이용해 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거해 코드의 불일치로 인한 오동작을 방지할 수 있다. 클래스와 객체 클래스의 정의 - 객체를 정의해 놓은 것 클래스의 용도 - 클래스는 객체를 생성하는데 사용된다. 객체의 정의 - 실제로 존재하는 것. ex) 사물 또는 개념..
자바(JAVA) - 예외 처리(Exception Handling) 예외 처리(Exception Handling) 자바에서 예외(exception)란 사용자의 잘못된 조작이나 개발자의 코딩 실수로 인해 발생하는 프로그램 오류를 말합니다. 예외가 발생되면 프로그램은 곧바로 종료된다는 점에서 에러와 동일하나, 예외는 예외 처리를 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있습니다. 자바의 예외에는 일반 예외와 실행 예외가 있고, 각각 Checked Exception과Unchecked Exception으로 부를 수 있습니다. 전자인 일반 예외, 즉 Checked Exception은 개발자가 반드시 예외 처리를 직접 진행해야 합니다. 요약 - 예외란 error에 일종이며, 발생시 시스템 및 프로그램을 불능상태를 야기함 하지만 이를 막기 위해 예외 처리를 ..
자바(JAVA): 인터페이스(interface) 1. 인터페이스(interface) 역할 인터페이스는 어떤 역할을 할까요? 인터페이스는 객체를 어떻게 구성해야 하는지 정리한 설계도입니다. 인터페이스는 객체의 교환성(또는 다형성)을 높여줍니다. 인터페이스 변수에 인터페이스가 구현된 서로 다른 구현 객체를 할당해서 사용이 가능합니다. 구현 객체를 직접 몰라도 인터페이스 메서드만 알아도 객체 호출이 가능하게 합니다. 객체가 인터페이스를 사용하면, 인터페이스 메서드를 반드시 구현해야 하는 제약을 합니다. 위 특징을 이용해서 얻고자 하는 인터페이스(interface) 역할은 다음과 같습니다. 인터페이스의 역할 "interface를 이용하여, 개발 코드를 직접 수정하지 않고도, 사용하고 있는 객체만 변경할 수 있도록 하기 위함입니다." 2. 인터페이스(inter..

728x90
반응형