Study (8) 썸네일형 리스트형 Java - 상속_다형성과 Casting 다형성(polymorphism)이란? 같은 타입이지만 실행 결과가 다양한 객체로 대입 가능한 성질 부모타입에는 모든 자식 객체가 대입 가능하다. 예를 들면 부모클래스 Parent와 자식 클래스 Child가 있을 때 Parent parent = new Child(); 위 코드가 가능하다는 뜻이다. 그러나 여기서 parent를 Child 의 인스턴스와 똑같이 생각하면 안되는 이유가 있다. 예를 들어 설명해보면 Parent class public class Parent { // 필드 int field1; // 메소드 public void method1() { System.out.println("Parent : method1"); } public void method2() { System.out.println(.. Java - 상속_super는 무엇인가? super? 부모 클래스의 생성자나 메소드를 호출할 때 사용한다. override한 메소드에서 super()을 사용하면 부모 클래스의 메소드를 그대로 호출한다는 뜻이 된다. 예시) 부모 클래스 public class Animal { // 부모 클래스 void sound() { System.out.println("소리를 낸다."); } } 자식 클래스(강아지, 호랑이, 고양이) //강아지 public class Dog extends Animal { @Override void sound() { System.out.println("강아지는 멍멍"); super.sound(); } }//super 사용 //호랑이 public class Tiger extends Animal { @Override void soun.. Java - 상속_ 재정의 (Override) 상속에서 method를 활용하는 방법 중 Override를 알아보자 예시) 부모 클래스 public class Parent { // 필드 int field1; // 생성자(default - 생략 가능) public Parent() {} // 메소드 void method1() { System.out.println("method1이 실행됨"); } void method2() { System.out.println("method2가 실행됨"); } } 자식클래스 -> method1은 Override하고 method2는 하지 않는다. public class Child extends Parent { // 필드 int field2; // 메소드 추가 @Override void method1() { super.meth.. Java - 접근 제한자(public이 뭐야) 접근 제한자(Access Modifier)란? 다른 패키지 또는 클래스에서 필드나 메소드를 사용하지 못하도록 제한하는 키워드이다. 프로그램이 실행 중인 단계에서 다른 클래스에서 접근하여 변경되면 안되는 중요한 정보가 변경되거나 다른 클래스나 패키지에서 변경하면 안되는 필드가 있을 때, 사용한다. 프로그래밍을 시작할 때부터 봐왔던 public void main~~ 메소드의 public이 바로 접근 제한자이다. 접근 제한자는 총 4가지 종류로 나뉜다. public : 다른 패키지, 클래스 모두 접근 가능 protected : 서브 클래스(다른 패키지도 해당) 혹은 같은 패키지의 클래스 접근 가능 default : 접근 제한자 설정하지 않으면 기본으로 적용되는 접근 제한자. 같은 클래스 접근 가능, 다른 패키.. Java - 객체와 상속 객체란 무엇인가? 예를 들어 쇼핑몰의 한 고객이 옷을 구매한다고 해보자. 고객에게는 쇼핑몰에서 사용하는 아이디와 패스워드가 있을 것이고 보유 중인 쿠폰과 기타 등등의 속성이 있을 것이다. 옷은 상품의 일종일 것이고 가격과 할인율, 카테고리 등등의 속성이 있을 것이다. 이때, 고객과 옷을 하나의 객체라고 하고 고객이 옷을 구매하는 행위를 메소드로 구현하는 것이 프로그래밍이다. 고객의 아이디 패스워드 보유 중인 쿠폰 등등, 그리고 옷의 가격, 할인율, 카테고리 등등은 객체의 속성에 해당한다. 상속은 무엇인가? 위의 예에서 옷이 상품의 일종이라고 했는데 이때, 옷과 상품이 상속관계에 있다고 한다. 상품은 다양한 카테고리가 있고 그 카테고리들이 공유하는 속성이 있을 것이다.(가격, 상품평 등) 또한, 옷만이 가.. Java - 데이터 타입(참조 타입) 데이터 타입 중 두 번째 참조타입이란? 값을 저장하는 기본 타입과는 달리 참조 타입은 그 주소를 참조하는 데이터 타입이다. 위의 그림과 같이 기본 타입 변수는 스택에 값이 직접적으로 저장된다. 참조타입 변수는 이와 다르게 힙 영역에 객체로 저장되어 객체가 포함하는 속성(변수)가 스택에 저장된다. 흔히 사용하는 String도 클래스로 String을 선언하면 하나의 객체를 생성하는 것과 같다. 참조 타입 비교 기본 타입은 변수의 값을 비교하나, 참조 타입은 동일한 객체를 참조하는지 다른 객체를 참조하는지 조사한다. 따라서 실제 값이 같더라도 주소가 다르면 == 연산의 결과가 false가 나올 수 있다. 코드로 확인하면 String name1 = "신용권"; // "신용권" : 문자리터럴 -> heap영역에 .. Java - 변수 선언과 변수 명명 규칙 변수란? 하나의 값을 저장할 수 있는 메모리 공간을 말한다. 변수는 이름에서 그 의미를 내포하고 있듯이 그 값의 변화가 가능하다.(final과 같은 예외가 있긴 하지만 기본적으로 그렇다.) 1. 변수 선언 우선 변수를 선언하는 방법은 다음과 같다. (자료형) (변수명) = (값); 코드로 작성하면 int i = 1; 여기서 int는 자료형, i는 변수명, 1은 변수 i에 할당된 값을 뜻한다. 위에서 말했듯 변수는 값의 변화가 가능하다 예를들어, int i = 1; i++; System.out.println(i); // 결과값은 2 i의 값으로 1을 선언하고 i++을 통해 i에 1을 더하면 그 값은 2가 된다. 이후 i에 다른 값을 할당하지 않는 한 i의 값은 2로 유지된다. 2. 변수 명명 규칙 변수 명.. Java - 데이터 타입(기본 타입) java에서 자료형은 크게 세 가지로 나뉜다. 종류 기본 타입 메모리 사용 크기(byte) 저장되는 값의 범위 정수 byte 1 -128 ~ 127 char 2 0 ~ 2^16-1 short 2 -2^15 ~ 2^15 - 1 int 4 -2^31 ~ 2^31 - 1 long 8 -2^63 ~ 2^63 - 1 실수 float 4 (+/-)1.4E~45 ~ (+/-)3.4E38 double 8 (+/-)4.9E~324 ~ (+/-)1.7E308 논리 boolean 1 true, false 자료형을 변수에 할당하는 방법은 다음과 같다. byte b = 1; char ch = 'A'; short s = 1; int i = 1; long l = 1; float f = 1.0f; double d = 1.0; boo.. 이전 1 다음