JAVA (17) 썸네일형 리스트형 [ JAVA / 자바 ] 메소드 오버라이딩(overriding)이란? - 오버라이딩(overriding)이란? : 부모 클래스로부터 상속 받은 메소드를 자식 클래스에서 재정의하여 사용하는 것이다. - 오버라이딩 사용 이용 : 부모 클래스의 정의된 메소드가 자식 클래스에서 다르게 정의할 필요가 있을 때 사용된다. - 오버라이딩의 조건 및 방법 : 부모 메소드의 이름, 리턴 타입, 매개변수의 갯수, 자료형과 순서를 동일하게 하여 자식 클래스에서 작성해야한다. - 오버라이딩 예제 // Parent.java public class Parent { String name; int age; Parent() { System.out.println("Parent 생성자가 호출됨"); } void print() { System.out.println("name : " + name); Syste.. [ JAVA / 자바 ] 상속이란 ? 클래스의 상속 1. 상속(Inheritance)이란? 부모 클래스 (상위 클래스)와 자식 클래스(하위 클래스) 가 있다. 자식 클래스는 부모 클래스를 선택해서, 그 부모의 멤버를 상속 받아 그대로 쓸 수 있게 된다. 2. 상속 예외 경우 - 부모 클래스의 private 접근 제한을 갖는 필드 및 메소드는 자식이 물려 받을 수 없다. - 부모와 자식 클래스가 서로 다른 패키지에 있다면, 부모의 default 접근 제한을 갖는 필드 및 메소드도 자식이 물려 받을 수 없다. 3. 클래스 상속 // 부모 클래스 // Parent.java public class Parent { String name; int age; private int money; Parent() { System.out.println("Parent 생성자가 .. [ JAVA / 자바 ] 접근제어자와 getter / setter 함수 1. 접근제어자의 종류 - public : 모든 외부에서 직접 접근하거나 호출 가능 - protected : 현재 클래스와 동일 패키지이거나 다른 패키지이더라도 상속 시에는 접근하거나 호출 가능 - default : 현재 클래스와 동일한 패키지 내애서만 접근하거나 호출 가능 - private : 같은 클래스 내부에서만 접근 가능 2. getter / setter 함수 - private 변수를 외부에서 접근하게 하기 위해 public 메소드를 제공 - 값을 얻는 get() 메소드를 getter, 값을 지정하는 set() 메소드를 setter [ JAVA / 자바 ] 클래스의 멤버변수에 데이터를 세팅하는 방법 1. 객체에 바로 저장하는 방법 // MemberMain.java Member m1 = new Member(); m1.name="Mike"; m1.phone="010-111-111"; 2. 함수로 저장하는 방법 // Member.java void setMember(String name, String phone) { this.name = name; this.phone = phone; } // MemberMain.java Member m2 = new Member(); m2.setMember("Mike", "010-111-111"); 3. 생성자로 저장하는 방법 // Member.java Member() { } Member(String name, String phone) { this.name = name; t.. [ JAVA / 자바 ] 생성자 사용법과 생성자 오버로딩 • 생성자란 ? - 생성자는 클래스의 객체가 생성될 때, 생성자 안의 코드가 자동으로 실행된다. - 생성자의 이름은 클래스의 이름과 같아야한다. - 생성자는 리턴 값이 없다. • 생성자 오버로딩 방법 : 클래스 안에 생성자 인자를 다르게 하여 여러개의 생성자를 구성하는 방법을 생성자 오버로딩이라고 한다. • 생성자와 생성자 오버로딩 예제 // Member.java public class Member { // 멤버 변수 String name; String tel; String address; // 생성자 : 함수의 리턴 타입이 없고 // 클래스의 이름과 같은 함수 // 메모리에 영역을 확보하고 바로 멤버 변수에 데이터를 세팅 Member(String name, String tel, String addres.. [ JAVA / 자바 ] 멤버 변수와 지역 변수, this 사용법 • 멤버 변수와 지역 변수란 ? * 멤버 변수 ( member variable ) 클래스의 메소드 밖에서 선언된 변수 * 지역 변수 ( local variable) 클래스의 메소드 안에 선언된 변수 • 멤버 변수 this란 ? - 변수명이 같을 경우, 멤버 변수와 지역 변수를 구분하기 위해 쓰는것 • 실습 예제 public class Member { // 멤버 변수 String name; String tel; String address; // 함수에 있는 변수는 로컬 변수 void setMember(String name, String tel, String address) { // 멤버 변수명와 지역 변수명이 같으므로 구분하기 위하여 this를 사용한다. this.name = name; this.tel =.. [ JAVA / 자바 ] 메소드 오버로딩(Method Overloading) 이란? • 오버로딩(Overloading) 이란? : 매개변수의 개수 또는 타입을 다르게 하여 클래스 내에 같은 이름의 메소드를 여러개 정의하는 것이다. • 오버로딩의 조건 1) 메소드의 이름이 같아야한다. 2) 매개변수의 개수 또는 타입이 달라야한다 3) 매개변수의 개수와 타입은 같고 리턴 타입이 다른 경우, 오버로딩이 성립되지 않는다. • 오버로딩 예제 // 두 데이터를 더하는 클래스 public class Add { int add(int x, int y) { return x + y; } float add(float x, float y) { return x + y; } double add(double x, double y) { return x + y; } String add(String x, String y.. [ JAVA / 자바 ] 메모리 구조 (static, stack, heap) JAVA 메모리 영역 • Stack 영역 - 함수의 호출과 관계되는 지역변수와 매개 변수가 저장되는 영역 - 메소드가 호출될 때 메모리에 할당되고 종료되면 메모리가 해제된다. • Heap 영역 - 참조형의 데이터 객체의 실제 데이터들이 담기는 영역 - Heap 영역의 참조 값을 Stack 영역의 객체가 갖고 있다. - 메모리 공간이 동적으로 할당되고 해제된다. • Data(Static) 영역 - 전역 변수와 정적(Static) 변수가 저장되는 영역 - 메모리상에 한번 할당되면 프로그램이 종료될 때 해제 된다. 예제 // StaticVar.java public class StaticVar { // 멤버 변수가 static일 경우, data(static) 영역에 저장 static int a = 1; // 멤.. 이전 1 2 3 다음