본문 바로가기
728x90
반응형

자바 기초16

[Java] 상속이란? 상속이란? 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 상속을 통해서 클래스를 작성하면 코드의 추가 및 변경이 용이하다. - 자손 클래스는 조상 클래스의 모든 멤버를 상속 받으므로 자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. - 멤버만 상속된다. - 자손 클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래스의 멤버가 합쳐진 하나의 인스턴스로 생성된다. - 자바는 단일 상속만 허용한다. - 모든 클래스의 조상은 Object클래스이다. // 클래스의 이름 뒤에 'extends 상속받을 클래스명'을 써주면된다. calss Child extends Parent{ } 조상 클래스 부모클래스(parent) 상위클래스(super) 기반클래스(base) 자손 클래스 자식클래스(ch.. 2021. 3. 8.
[Java] 오버로딩 overloading 오버로딩 (overloading) : 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것. (메서드 오버로딩) 오버로딩의 조건 1. 메서드 이름이 같아야 한다. 2. 매개변수의 개수 또는 타입이 달라야 한다. ※ 반환 타입(리턴 타입)은 오버로딩을 구현하는데 아무런 영향을 주지 못한다. 오버로딩이 아닌 예시 int add(int a, int b){ return a+b; } int add(int x, int y){ return x+y; } //메서드의 이름이 같지만, 매개변수의 개수, 타입이 같아 오버로딩 조건이 성립하지 못한다. int add(int a, int b){ return a+b; } long add(int a, int b){ return (long)(a+b); } // 리턴타입만 다른경.. 2021. 3. 6.
[Java] Scanner로 char 입력하기 / charAt(i); Scanner엔 문자를 입력받는 기능이 없어서 문자열을 입력받아 문자로 변환해줘야한다. 어떻게? charAt(i); 을 사용하면 된다. Scanner sc = new Scanner(System.in); String str = sc.next(); char ch1 = str.charAt(0); // 첫번째 문자 2021. 3. 5.
[Java] 클래스 메서드와 인스턴스 메서드 메서드 앞에 static이 붙어 있으면 클래스메서드이고 붙어 있지 않으면 인스턴스 메서드이다. 인스턴스 메서드는 인스턴스 변수와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드이다. 인스턴스 변수는 인스턴스(객체)를 생성해야만 만들어지므로 인스턴스 메서드 역시 인스턴스를 생성해야만 호출할 수 있는 것이다. 인스턴스와 관계없는(인스턴스 변수나 인스턴스 메서드를 사용하지 않는) 메서드를 클래스 메서드(static 메서드)로 정의한다. 1. 모든 인스턴스에서 같은 값이 유지되어야 하는 변수는 static을 붙여서 클래스변수로 정의 2. 클래스 변수는 인스턴스를 생성하지 않아도 사용할 수 있다. 3. 클래스 메서드는 인스턴스 변수를 사용할 수 없다. 4. 메서드 내에서 인.. 2021. 3. 5.
[Java] 기본형 매개변수와 참조형 매개변수 기본형 매개변수 : 기본형 값이 복사된다. 변수의 값을 읽기만 할 수 있다. 참조형 매개변수 : 인스턴스의 주소가 복사된다. 변수의 값을 읽고 변경할 수 있다. 더보기 출처, 자바의정석 2021. 3. 5.
[Java] JVM의 메모리 구조 1. 메서드 영역 (method area) - 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스파일을 읽어서 분석, 클래스에 대한 정보(클래스 데이터)를 이곳에 저장한다. 이 때 그 클래스의 클래스변수도 이 영역에 함께 생성된다. 2. 힙 (heap) - 인스턴스가 생성되는 공간. 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성. 인스턴스변수들이 생성되는 공간이다. 3. 호출스택 (call stack 또는 execution stack) - 메서드의 작업에 필요한 메모리 공간을 제공한다. 메서드가 작업을 수행하는 동안 지역변수(매개변수 포함)들과 연산의 중간결과 등을 저장하는데 사용. 호출된 메서드를 위한 메모리가 할당되며 작업을 마치면 할당 된 메모리 공간은 비워진다. 더보기 2021. 3. 5.
[Java] 객체지향언어란? hong-chii.tistory.com/3?category=1150868 [Java] class 와 객체 개념 정리 클래스의 정의와 용도 정의 : 객체를 정의해 놓은 것. 용도 : 객체를 생성하는데 사용. 객체의 정의와 용도 정의 : 실제로 존재하는 것. 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름. 객 hong-chii.tistory.com 객체지향이론의 기본개념은 '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.'라는 것이다. 또, 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전되었다. 객체지향언어의 특징 코드의 재사용성 : 새로운 코드 작성시 기존 코드를 이용해 쉽게 작성할 수 있다. 코드의 관리 용이 : 코드간의 관계를 이용해 쉽게 .. 2021. 3. 2.
[Java] String 배열 참조형 배열은 실제 객체가 아닌 객체의 주소가 저장된다. 2021. 2. 27.
[Java] 배열 - 값 카운트하기 더보기 출처, 자바의정석 배열에 임의의 값을 담은 뒤, 같은 값이 몇개가 있는지 카운트하는 예제이다. package Ch5; public class ArrayEx11 { public static void main(String[] args) { int[] numArr = new int[10]; int[] counter = new int[10]; for (int i=0; i 2021. 2. 26.
728x90
반응형