MapleStory Cookie With Halo

☕ JAVA 114

[JAVA]참조변수 super & 조상 생성자 super()

참조변수 super public class Super { public static void main(String[] args) { ChildClass child = new ChildClass(); child.method(); } } class ParentClass {int x = 10; /* super.x */} class ChildClass extends ParentClass { int x = 20; // this.x void method() { System.out.println("x=" + x); System.out.println("this.x" + this.x); System.out.println("super.x=" + super.x); } } 객체 자신을 가리키는 참조변수. (this와 비슷) 조..

[JAVA]오버라이딩 Overrinding

override : 덮어쓰다Overriding : 조상의 method를 자신에 맞게 변경하는 것 class MyPoint { int x; int y; public String toString() { return "x :" + x + ", y :" + y; }}class MyPoint3D extends MyPoint { int z; public String toString() { // overriding return "x :" + x + ", y :" + y + ", z :" + z; }}부모 class인 MyPoint에 있는 toString() 함수를 자식 class인 MyPoint3D에서 다르게 변경해서 사용할 수 있다.  Overridi..

[JAVA]포함 composite

클래스의 관계는 크게 상속과 포함으로 나뉜다 상속관계 is-a : '~은 ~이다.' extends *여러가지 제약이 있으므로 꼭 필요할 때만 사용한다. 포함관계 has-a : '~은 ~을 가지고 있다.' 상속관계 extends를 호출할 때 public class Inheritance { public static void main(String[] args) { MyCircle myC = new MyCircle(); myC.x = 1; myC.y = 2; myC.r = 3; System.out.println("myC.x=" + myC.x); System.out.println("myC.y=" + myC.y); System.out.println("myC.r=" + myC.r); } } class Point { ..

[JAVA]상속 Inheritance

상속 Inheritance: 두 클래스를 부모와 자식으로 관계를 맺어주는 것.기존의 클래스로 새로운 클래스를 작성하는 것(코드의 재사용). 2D 좌표를 표기하는 Point2D라는 이름의 class와 3D 좌표를 표기하는 Point3D라는 class가 있을 경우에Point2D를 상속 받은 Point3D 클래스에서 x,y,z사용할 수 있습니다.  class명에 extend가 붙기 때문에..  ❗ 상속이 안되는 예외적인 경우 부모클래스에서 private을 쓴 필드와 메소드는 상속대상에서 제외된다. 또 패키지가 다른 경우엔 default를 사용한 경우도 상속제외이다.  응용

[JAVA]변수의 초기화

지역변수lv는 사용 전 꼭 수동초기화 해야한다 int x; // 인스턴스 변수 iv int y = x; // 재사용이 빈번하여 자동으로 0으로 초기화된다. void method1() { int i; // 지역변수lv // int j = i; // ERROR 지역변수를 초기화하지 않아 사용할 시 에러. } 지역변수 lv : local valiable는 초기화 하지 않을 시 에러 발생. 따라서 변수 선언 시 값을 대입하는 초기화가 필요합니다. 인스턴스 변수 iv : instance valiable 은 사용이 빈번하여 클래스 생성시 자동으로 0으로 초기화 된다. 자동초기화시 참조변수는 null, boolean은 false, 그 외의 값은 0 으로 초기화된다고 보면 된다. 크게 명시적초기화(간단초기화) 와 bl..

[JAVA]생성자 this()와 참조변수 this

똑같이 생겼지만 ()가 붙느냐의 차이로 전혀 다른 역할을 합니다 생성자 this () : 같은 class의 다른 생성자를 호출 시 사용 class Car2 { String color; String gearType; int door; Car2() { /* 코드의 중복을 제거 color = "white"; gearType = "quto"; door = 4; 이렇게 쓰는 대신 this를 사용해 아래처럼 쓸 수 있다. */ this("white", "auto", 4); } Car2(String color) { /* * 다른 생성자 호출 시 첫 줄에서만 사용해야 한다. * color = "white"; -> X * * 같은 클래스 안의 생성자 호출시 class이름 대신 this를 사용해야 한다. * Car2(co..

[JAVA]생성자 Constructor

인스턴스가 생성될 때마다 호출되는인스턴스 초기화 메서드 규칙이름이 class 이름과 같아야 한다리턴값이 없다. 그래도 void 안 붙임모든 class는 반드시 생성자를 가진다(안 적으면 complier가 알아서 만들어줌)  기본 생성자Default Constructor  매개변수parameter가 없는 생성자이다.생성자가 하나도 없을 때 complier가 자동으로 추가한다.  생성자 오버로딩 기본생성자가 필수인 이유는 new로 호출할 때마다초기화한 class를 참조변수에 새로운 주소값에 담기위함이겠죠.호출 시, 원하는 대로 사용하려면 매개변수parameter를 담아 호출하려면 생성자 오버로딩이 필요합니다.  매개변수가 있는 생성자 작성시기본생성자 필수기재  생성자의 접근제어자생성자의 접근제어자는 대부분은..

[JAVA]오버로딩 Overloading

한 클래스 안에 같은 이름의 method를 여러 개 정의매개변수parameter는 달라도 같은 의미의 기능을 수행한다. 오버로딩이 성립하기 위한 조건method 이름이 같아야 한다.매개변수의 개수 또는 타입이 달라야 한다.반환 타입은 영향없다.❗ 주의long add(int a, long b) {return a+b;}long add(long a, int b) {return a+b;}→ 위 method를 호출시 long(3, 3)과 같이 사용하면 Compiler가 어떤 걸 호출할 지 판단하지 못해 error 발생   참조영상

[JAVA]기본형 매개변수와 참조형 매개변수

PrimitiveParam 기본형 매개변수 & ReferenceParam 참조형 매개변수 기본형 매개변수 - read only 참조형 매개변수 - read & write class Data {String x;} public class PrimitiveParamReferenceParam { public static void main(String[] args) { Data d = new Data(); d.x = "main입니다"; System.out.println("main : " + d.x); primitiveParam(d.x); System.out.println(d.x); referenceParam(d); System.out.println(d.x); Data d2 = new Data(); System.o..

반응형