🌱 오늘의 주제 : 자바와 객체 지향(2) 🌱 추상화와 T 메모리 Mouse mickey = new Mouse ( ); Mouse mickey // Mouse 객체에 대한 참조 변수 Mickey를 만든다. = // Mouse 객체에 대한 주소(포인터)를 참조 변수 mickey에 할당한다. new Mouse( ) // Mouse 클래스의 인스턴스를 하나 만들어 힙에 배치한다. 스태틱은 "고정된"이라는 뜻을 가지고 잇다. 스태틱 영역에 올라간 정보는 main( ) 메서드가 시작되기 전에 올라가서 mian ( ) 메서드가 종료된 후에 내려올 정도로 스태틱 영역에 단단히 고정되어 있기 때문에 스태틱 영역이다. 스택은 선입후출구조, LIFO, FILO과 같은 형식 때문에 스택이라고 불린다. 힙은 대용량 자료를 저..
🌱 오늘의 주제 : super( ), super 🌱 super( ) - 조상의 생성자 Object클래스를 제외한 모든 클래스의 생성자 첫 줄에 생성자, this() 또는 super()를 호출해야 한다. 그렇지 않으면 컴파일러가 자동적으로 super()를 생성자의 첫 줄에 삽입한다. 생성자의 첫 줄에 반드시 다른 생성자를 호출해야한다. 생성자는 상속되지 않는다. package inheritance; public class Ex7_4 { public static void main(String[] args) { // super() - 조상의 생성자 Point3D p = new Point3D(1,2,3); System.out.println("x= " + p.x + ",y = " + p.y + ",z = " + ..
🌱 오늘의 주제 : 클래스 간의 관계 - 포함관계 🌱 클래스를 재사용하는 방법 1. 클래스간에 포함(composite)관계 2.상속 🌱 클래스 간의 관계 - 포함관계 클래스 간에 포함 관계. (거의 대부분 이 방법을 사용) public static void main(String[] args) { Circle c = new Circle( ); c.c.x = 0; c.c.y = 0; c.r = 0; class Circle { point c = new Point( ); int r; } class Point { int x; int y; } 🌱 상속관계 (많이 사용안함, 단 꼭 필요할 때는 사용) class Circle extends Point { int r; }
🌱 오늘의 주제 : 생성자에서 다른 생성자 호출하기 - this ( ) 🌱 생성자에서 다른 생성자 호출하기 - this ( ) 생성자 간에도 서로 호출이 가능하다. 적은 코드만을 변경하면 되므로 유지보수가 쉬워진다. - 생성자의 이름으로 클래스이름 대신 this를 사용한다. - 한 생성자에서 다른 생성자를 호출할 때는 반드시 첫 줄에서만 호출이 가능하다. Car(String color) { door = 5; // 첫번째 줄 Car(color, "auto", 4); // 에러1. 생성자의 두번째 줄에서 다른 생성자 호출 // 에러2. this(color, "auto", 4); 로 해야함. public class Car2 { // 생성자에서 다른 생성자 호출하기 - this( ) String color; /..
🌱 오늘의 주제 : Java - 생성자 🌱 생성자 (constructor) 생성자 : 인스턴스가 생성될 때 호출되는 '인스턴스 초기화 메서드'이다. 생성자도 오버로딩이 가능하므로 하나의 클래스에 여러개의 생성자가 존재 할 수 있다. 1. 생성자의 이름은 클래스의 이름과 같아야 한다. 2. 생성자는 리턴 값이 없다. (void 붙이지 않는다.) 클래스이름(타입 변수명, 타입 변수명,...) { // 인스턴스 생성 시 수행될 코드, // 주로 인스턴스 변수의 초기화 코드를 적는다. } class Point { Point() {. // 매개변수가 없는 생성자. } Point(int x , int y) { // 매개변수가 있는 생성자. } Card c = new Card(); 1. 연산자 new에 의해서 메모리..
🌱 오늘의 주제 : Java - 객체를 문자로 표현하는 toString() 사용하기 🌱 Java - 객체를 문자로 표현하는 toString() 사용하기 toString()은 객체가 문자로 취급될 때 사용되는 메서드로 객체가 자신의 정체성을 드러내는 하나의 수단 클래스에 public 접근 제한자를 가지고 String을 반환하는 toString() 메서드를 정의하면 됩니다. @Override 에노테이션은 사용하지 않아도 메서드를 재정의 할 수 있지만 되도록이면 사용해 주세요. 모든 클래스는 toString()을 사용할 수 있고, 자신에 맞게 사용하기 위해서는 재정의(Overriding)를 해야 합니다. class Person { private String name; private String job; pub..
🌱 오늘의 주제 : Map 컬렉션, List 컬렉션 - Iterator 반복문 사용법 🌱 List 컬렉션 - Iterator 사용법 List fruits = new ArrayList(); fruits.add("apple"); fruits.add("banana"); fruits.add("grape"); // 2. Iterator 사용하기 - 순회해달라고 하기 위해.. Iterator iter = fruits.iterator(); while (iter.hasNext()) { String fruit = iter.next(); // next()를 호출할 때마다 다음칸을 계속 가리키기 때문에 반복문에서 반드시 한개만 수행해 함!!!!!!!! // 항상 변수에 담아랏. System.out.println(fruit)..
🌴 문제 Map 활용하기 Map에 키에 이름(유재석, 박나래, 이지은, 서장훈, 이광수)을 넣고, 값을 모두 'X'로 초기화 하세요. 성씨가 '이'씨인 경우에는 값을 'O'로 바꾼다. Iterator를 사용한다. 출력 예시 {이지은=O, 서장훈=X, 유재석=X, 이광수=O, 박나래=X} 🌴 문제 분석 package map_quiz; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Review_Quiz02 { public static void main(String[] args) { Map names = new HashMap(); names.put("이지은",'X'); names.put("서장훈",'..