본문 바로가기

Language/Java

[JAVA] 자바 빠른 for문(향상된 for문, for each문) for each 문의 형식 : for(변수타입 변수이름 : 배열이름) 실행부분; ex) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 public class Arr { public static void main(String[] args) { // String [] arData = {"안녕", "반가워", "이름이", "뭐니?"}; // // for(String i : arData) { // System.out.println(i); // } int [][] arrScore = { {10, 20, 30},//1번 {11, 25, 39},//2번 {12, 26, 38},//3번 {13,.. 더보기
[JAVA] 자바 래퍼 클래스 (Wrapper Class) Wrapper 클래스 : 기본형 타입을 객체화 하도록 도와주는 클래스 (클래스타입 → Wrapper 클래스) 박싱(Boxing) : Wrapper 클래스 → 기본형 타입 : 기본 타입의 데이터를 래퍼 클래스의 인스턴스로 변환하는 과정 언박싱(Unboxing) : Wrapper 클래스 ← 기본형 타입 : 래퍼 클래스의 인스턴스에 저장된 값을 다시 기본 타입의 데이터로 꺼내는 과정 * JDK 1.5부터는 박싱과 언박싱이 필요한 상황에서 자바 컴파일러가 이를 자동으로 처리해 준다. 이렇게 자동화된 박싱과 언박싱을 오토 박싱과 오토 언박싱이라고 부른다. ex) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public class Wrapper { public static void main(St.. 더보기
[JAVA] 자바 오브젝트 클래스 (Object Class) Object 클래스 : java.lang.Object 클래스는 자바 API의 모든 클래스와 사용자가 정의한 모든 클래스의 최상위 클래스이다. 즉, 모든 자바 클래스들은 Object 클래스로부터 상속받는다. 사용자가 클래스를 정의할 때 클래스 선언부에 명시적으로 extends 를 지정하지 않아도 자동으로 Object 클래스로 상속받게 된다. 다시 말해 Object 클래스의 모든 메서드와 변수는 다른 모든 클래스에서도 사용 가능할 수 있다는 말이다. equals(), == : 두 주소값이 같은지 확인하는 메서드 이다. 단, String 클래스에서 equals()를 재정의 하였기 때문에 String 타입이라면 값을 비교한다. 그렇기 때문에 보통 String 타입의 값을 비교할때에는 equals()를 사용한다... 더보기
[Java] 자바 내부 클래스(inner class) 자바 내부 클래스(inner class) : 클래스 내부에 클래스를 선언하여 외부 클래스의 필드 접근에 용이하기 위함. 내부 클래스의 필드를 사용하기 위해서는 외부 클래스에서 내부 클래스를 객체화 해야한다. : 내부 클래스는 GUI(Graphic User Interface) 개발시 많이 사용된다. 예를 들어 a라는 버튼과 b라는 버튼이 있다고 하자. 두 버튼의 기능이 서로 다르다면 클래스를 별도로 만드는 것 보다 내부 클래스로 만들어 사용하는 것이 적합하다. ※ 사용이유 : 캡슐화를 하기 위해서. 캡슐화 : A클래스에서 b라는 작업이 자주 쓰이고, 이 작업은 B 클래스를 만들어야 쉽게 관리할 수 있음. 하지만 다른 클래스에서 b작업이 필요 없거나, B클래스를 외부에 노출시키고 싶지 않을 때 사용한다. 더보기
[Java] 자바 다형성(Polymorphism) 다형성(Polymorphism) : 같은 자료형에 여러 가지 객체를 대입하여 다양한 결과를 얻어내는 성질. - 하나의 메소드나 클래스가 있을 때 이것들이 다양한 방법으로 동작하는 것 ex) 메소드의 다형성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 package Test; public class PolymorphismTset { public static void main(String[] args) { method(1); method("one"); } public static void method(int num) { System.out.println("숫자출력"); System.out.println(num); } public static void method(String s.. 더보기
[Java] 자바 업캐스팅(Upcasting), 다운캐스팅(Downcasting) 업캐스팅(Upcasting) [ 서브 클래스 객체가 슈퍼 클래스 타입으로 변환되는 것.]: 부모 클래스 타입으로 자식 생성자를 호출하는 것.- 부모와 자식간의 공통 요소(재정의 메소드)만 사용 가능하며, 자식 클래스의 추가된 것들은 사용할 수 없다.- 부모 타입으로 선언 되었기 때문에 부모의 필드만 사용 가능하지만, 자식 클래스에서 재정의 했다면, 재정의 된 메소드로 사용된다. ex)123456789101112131415161718192021222324 class Parents { public void Color() { System.out.print("빨간"); } public void name() { Color(); System.out.println("딸기"); } } class Rose extends.. 더보기
[java] 자바 상속(inheritance) 상속(inheritance) : 기존의 클래스로부터 새로운 클래스를 유도하는 과정. -부모 클래스를 extends로 상속받아 자식 클래스에서 내 것처럼 사용할 수 있는 것. -A클래스가 B클래스에 정의된 필드와 메소드를 사용할 수 있도록 만드는 것. A클래스 == 부모클래스,슈퍼클래스 B클래스 == 자식(extends)클래스,서브클래스 * 자바에서 모든 클래스는 Object라고 하는 클래스를 상속받는다.(이는 아무것도 상속받지 않은 클래스도 포함된다.) 1. 소스코드를 반복해서 쓸 필요가 없다. 2. 클래스 간 계층 분류 및 관리의 간편화 ex) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 class Vehicle{ public int speed; pu.. 더보기
[java] 자바 생성자(Constructor) 와 this 생성자(Constructor) : 클래스명() -초기화의 목적이 있다. (객체가 생성될때 자동으로 호출(new 명령어를 만났을때)되며 객체를 초기화한다.) -메소드와 같은 기능을 가지고 있지만, 리턴이 없으며 리턴타입도 없다. 따라서 메소드라고 부르지않는다. -인스턴스변수(클래스 내부변수) 초기화를 담당 한다. -생성자는 중복정의 될 수 있다.(생성자 오버로드) -생성자를 정의하지 않았을 때에는 컴파일러가 제공하는 생성자가 호출되어진다.(default) ex) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 class Ex { private int year; private int month; public Ex(){ //생성자 생성(클래스명과 동일) year = 2020; .. 더보기