MapleStory Cookie With Halo

☕ JAVA/☕ Class & Method 71

[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]생성자 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]Method 메서드란(+ 함수와의 차이, BlackBox란)

Method란? 작업단위로) 문장들을 묶어 놓은 것 값(입력)을 받아 처리하거나 결과를 반환(출력)할 수 있다. Method와 Function(함수)의 차이 Method는 객체지향 개념에서 함수를 지칭한다. Method는 Class안에 있어야만 하는 제약성을 가지지만, 함수는 Class에 독립적일 수 있다. * 구분하고 단어를 쓰는 경우는 별로 없다. Method = 선언부 + 구현부 반환타입 Mehod이름(매개변수 Parameter) {실행코드} 선언부 : 반환타입 Mehod이름(매개변수 Parameter) Method에서 return 반환할타입 Method이름과 매개변수 Parameter : Method호출시 넘겨받는 값을 지정합니다. 구현부 : {실행코드} Method 호출 시 수행될 코드를 작성합..

[JAVA]클래스 Class 정의

참조 : https://youtu.be/ML4CO32-bts 변수는 하나의  타입에 하나의 데이터만 저장할 수 있고int number = 0; 배열은 하나의 타입에 여러 데이터를 저장할 수 있습니다.int[] numberArr = {0, 1, 2};List numberList = new ArrayList(); ← generic으로 Object를 지정하면 여러타입을 받을 수 있지만 비권장합니다. 어떻게 하면 좀 더 편하게 사용할까 하다가명령문과 변수들을 하나의 class에 담아서 사용할 수 있게 만들기도 합니다. class : 데이터와 함수의 집합 이라고도 합니다. 또 변수만 모아서 사용하는 경우가 바로 DTO 같은 경우가 있습니다.변수들만 모아진 class를 정의하자면 class : 사용자 정의타입 라고..

[JAVA]한 파일에 여러 클래스 작성하기

출처 : https://youtu.be/hTHFeUTyIEo위 영상을 보고 정리하였습니다.  앞서 말하자면 🌟하나의 .class 소스파일 안에는, 하나의 class만 작성하는 것이 바람직합니다.그럼에도 알고가는 이유는하나의 .class 파일 안에 여러 클래스를 적을 수 있다는 사실이 신선하고알아두면 좋은 기본개념이라는 겁니다.   클래스를 생성하면 이런 형태로 자동으로 만들어집니다.안에 main()함수를 적고 하면 클래스가 실행되죠.💡 소스파일명과 동일한 class명을 실행하기 때문입니다.(만약에 다른 이름으로 바꿔서 실행하면 해당 클래스를 읽을 수 없습니다.)main class를 변경하고 싶다면 Run Configuration에서 변경할 수 있습니다.기본적으로 .class 소스파일을 생성하면 접근제..

반응형