MapleStory Cookie With Halo

☕ JAVA/☕ Class & Method 71

[JAVA]내부 클래스 inner class

내부 클래스inner class장점내부 클래스에서 외부 클래스의 멤버에 쉽게 접근할 수 있다.목적코드의 복잡성을 줄일 수 있다.(캡슐화)종류와 특징2023.01.08 - [☕ 자바 JAVA/☕ 변수와 자료형 Variables & Data Type] - [JAVA]선언위치와 static유무로 구분한 변수종류내부 클래스는 모든 접근제어자 사용가능지역 내부 클래스: class in a method.지역 내부 클래스는 해당 메서드 안에서만 사용할 수 있습니다.2023.01.08 - [☕ 자바 JAVA/☕ 개발환경] - [JAVA]단순히 정리한 JVM구조와 Memory(+ static)호출법외부 클래스 안 main에서는 내부클래스를 바로 호출가능.다른 클래스에서 호출 시instance 내부 클래스는 인스턴스new..

[JAVA]예외처리:throw & throws, try-catch.

throw: 강제 예외처리throws: 예외를 throws 옆에 적은 class로 넘깁니다.try/catch문을 이용해 예외처리예외의 흐름main()에서 method1을 호출 하고, method1이 method2를 호출합니다.main → 1() → 2()method2에서 강제로 예외를 발생시키면 try-catch문으로 예외를 처리하지 않았기 때문에,→ method2를 호출한 method1에게 예외를 떠넘깁니다.method1에서도 예외를 처리하지 않았기 때문에 →  main으로 예외를 떠넘깁니다.main 또한 예외를 처리하지 않기 때문에→ jvm에 예외를 떠넘겨 결국 프로그램은 비정상 종료합니다.※ 결론throws는 결국 예외를 어디에서 처리할 지를 정하는 곳이지 예외를 처리하진 못합니다.예외가 발생했을 ..

[JAVA]toString 함수

모든 class는 Object클래스를 상속 받는데Object 클래스 안에 있는 함수 중 하나가 toString() 함수이다.Circle 클래스에서 toString() 메서드를 오버라이드하지 않으면, Circle 객체의 toString() 호출 결과는 Circle@1a2b3c4와 같은 형태로 출력됩니다.하지만 toString()클래스를 이용하면 Circle 클래스 호출하여 출력시 지정한 문자열로 출력할 수 있다.디버깅이나 값을 확인하기 위해 많이 사용된다.

[JAVA]Default method & Static method

interface에 추가 가능한 method들. (JDK1.8부터)interface에 새로운 method를 추가하기 어려움.→이 문제를 해결하기 위해 나온 게 default method.default method는 instance method로. (instance 원칙에서 예외된다)default method가 기존 method와 충돌 할 경우interface를 구현한 class에서 default method를 오버라이딩한다.조상 class의 method가 우선 상속되고, default method는 무시된다.→ 이런 방법이 있지만 그냥 직접 오버라이딩하면 해결된다. 끝...

[JAVA]interface 선언, 상속, 구현

interface란?추상method 집합구현된 것이 없는 설계도.→ 선언부 { }가 없다.모든 멤버가 public.public과 abstract를 생략해도 자동으로 public과 absract로 method가 선언된다.→ public과 abstract 생략가능. ❓ 인터페이스와 추상클래스의 차이추상클래스는 일반 클래스에 추상멤버가 추가된 개념.인터페이스는 추상메서드만으로 구성되어 있다.따라서 인터페이스는 iv를 가질 수 없다. Object가 최고 조상이 아니다.→ interface의 조상은 interface만 가능.다중 상속이 가능.→ 추상method는 충돌해도 문제가 없기 때문에.  interface 구현 클래스 만들기→ interface에 정의된 추상 method에 구현부{ }를 만드는 것.클래스명 ..

[JAVA]추상 클래스 abstract class

미완성 설계도. 미완성 method(=추상 method)를 갖고 있는 class. class명 앞에 abstract가 붙는다(class 만들 때 abstract class로 생성). 추상method 앞에도 abstract가 붙는다. 구현부 { } 가 없다. 구현부가 없어 미완성이자 추상이라고 하는 것. abstract class는 instance 생성불가 상속extebds를 통해 추상 method를 완성해야 상속된 class로 instance 생성가능 이 때는 추상이 아니기 때문에 abstract가 붙지 않는다. 추상 method가 상속되면서 override된다. 구현부{ }는 AudioPlayer에서 만들면 됨. Player가 상속된 AudioPlayer를 다른 class에서 instance로 만들어 ..

[JAVA]다형성의 장점2:여러 종류의 객체를 배열로 다루기

조상type의 배열에 자손들의 객체를 담을 수 있다 public class ManyKindOfObjectArray { public static void main(String[] args) { Buyer2 b = new Buyer2(); b.buy(new Tv2()); b.buy(new Computer2()); b.buy(new Audio2()); b.summary(); System.out.println("현재 남은 돈은 " + b.money + "만원입니다."); System.out.println("현재 보너스점수는 " + b.point + "점입니다."); } } class Product2 { int price; int point; Product2(int price) { this.price = pric..

반응형