자바 77

[HTML+CSS3] 웹 컨텐츠를 담는 태그 (HTML)

03. 웹 콘텐츠를 담는 태그 · 텍스트 태그 텍스트를 저장할 때 사용하는 태그 : h1~h6 (타이틀), p(문단) - 중요도에 따라 가장 중요한 타이틀을 h1에 저장함 텍스트를 저장할 때 사용하는 태그는 h1 ~ h6, p 태그이다. · 이미지 태그 이미지를 저장할 때 사용하는 태그 : img - 필수 속성 src를 이용해 이미지를 html 문서에 포함 시킨다. ( 상대 or 절대 경로를 부여함 ) - 상대 경로 : 내가 작성하는 파일의 위치에서 경로가 시작하는 것 ( none, ./, ../ ) ( / : 해당 파일 하단으로 이동) 절대 경로 : 루트 디렉터리에서 경로가 시작하는 것 ( - 필수 속성이 아닌 alt를 이용해 이미지에 대한 설명을 작성, 웹 접근성을 향상시키기 위해 웹 표준에서는 권장..

☆☆☆ 다형성 (polymorphism)

▶ 다형성 (polymorphism) - 여러가지 형태를 가질 수 있는 능력 - 조상 타입 참조 변수로 자손 타입 객체를 다루는 것 - 객체와 참조변수의 타입이 일치할 때와 일치하지 않을 때의 차이? SmartTV s = new SmartTv(); // 참조 변수와 인스턴스의 타입이 일치 TV t = new SmartTv(); // 조상 타입 참조변수로 자손 타입 인스턴스 참조 ; 불일치도 OK ex) 스마트 티비를 스마트티비 리모컨( 기능 7개 )으로 사용한다면 모든 기능( 기능 7개 )을 사용할 수 있음 티비 리모컨( 기능 5개 )으로 사용한다면 일부 기능만 사용 가능함 (리모컨에 있는 기능까지만 가능) - 자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없다. TV t = new SmartTv..

캡슐화

▶캡슐화와 접근 제어자 접근 제어자를 사용하는 이유 - 외부로부터 데이터를 보호하기 위해서 - 외부에는 불필요한, 내부적으로만 사용되는, 부분을 감추기 위해서 public class Time { public int hour; // iv (접근제한 X) , 접근 가능한 범위 : 0~23 public int minute; // iv (접근제한 X) , 접근 가능한 범위 : 0~59 public int second; // iv (접근제한 X) , 접근 가능한 범위 : 0~59 } => Time t = new Time();. t.hour = 25; // 멤버변수에 직접 접근이 가능함 iv를 보호하기 위해서 코드 변경! (접근 제어자를 이용한 캡슐화) iv를 private 으로 해서 외부 접근을 막는다. 메서드는..

접근 제어자

▶ 접근 제어자 (access modifier) private 같은 클래스 내에서만 접근이 가능하다. (defautl) 같은 패키지 내에서만 접근이 가능하다. protected 같은 패키지 내에서, 그리고 다른 패키지의 자손클래스에서 접근이 가능하다. public 접근 제한이 전혀 없다. 예제) private는 같은 클래스 내에서만 접근이 가능!! package pkg1; class Myparent { privateint prv;// 같은 클래스 내에서 사용 가능 public void printMembers() { System.out.println(prv);// OK } } public class MyParentTest { public static void main(String[] args) { Mypa..

제어자, static, final, abstract

▶ 제어자 (modifier) - 클래스와 클래스의 멤버 (멤버 변수, 메서드)에 부가적인 의미 부여 제어자 종류 접근 제어자 public, protected, (default), private 그 외 static, final, abstract, native, transient, synchronized, volatile, strctfp - 하나의 대상에 여러 제어자를 같이 사용가능 (접근 제어자는 하나만) public class ModifierTest { public static final int WIDTH = 200; public static void main(String[] args){ System.out.println("Width =" + WIDTH); } } ▶ static - 클래스의, 공통적인..

import문 /static import문

▶ import문 - 클래스를 사용할 때 패키지 이름을 생략할 수 있다. - 컴파일러에게 클래스가 속한 패키지를 알려준다. class ImportTest { java.util.Date today = new java.util.Date(); } => import를 이용해서 패키지 이름 생략하기 import java.util.Date; // 이클립스 단축기 : ctrl+shit+o 사용 시 자동으로 만들어짐 class ImportTest { (java.util 생략) Date today = new (java.util 생략) Date(); } - java.lang 패키지 (=기본 패키지)의 클래스는 import하지 않고도 사용할 수 있다. (string, Object, System, Tread ... ) imp..

패키지, 클래스 패스

▶ 패키지 (package) - 서로 관련된 클래스의 묶음 - 클래스는 클래스 파일 (*.class) 패키지는 폴더. 하위 패키지는 하위 폴더 - 클래스의 실제 이름(full name)은 패키지를 포함. (java.lang.String) rt.jar는 클래스들을 압축한 파일 (JDk 설치경로 \jre\ilb에 위치) ▶ 패키지의 선언 - 패키지는 소스파일의 첫 번째 문장으로 단 한번 선언 - 같은 소스 파일의 클래스들은 모두 같은 패키지에 속하게 된다. - 패키지 선언이 없으면 이름없는 (unnamed) 패키지에 속하게 된다. package com.codechobo.book; // 패키지 선언 public class PackgeTest { // 클래스 1 ( com.codechobo.book; 패키지에 ..

참조변수 super, 생성자 super()

▶참조변수 super ( ≒ this. lv와 iv구별에 사용) - 객체 자신을 가리키는 참조변수. 인스턴스 메서드(생성자)내에만 존재 (= static 메서드내에 사용불가) - 조상의 멤버를 자신의 멤버와 구별할 때 사용 class Ex7_2 { puvlic static void main (String args[]) { Chihld c= new Child(); c.method(); } } class Parent (int x = 10; /* super.x */ } class Child extends Parent { int x = 20; // this.x void method() { System.out.println("x =" + x); System.out.println("this.x =" + this.x..

오버라이딩

▶(메서드) 오버라이딩 (overriding) - 상속받은 조상의 메서드를 자신에 맞게 변경하는 것 class Point { // 2차원 좌표 int x; // 위치 int y; string getlocation() { return "x:" + x + ", y :" + y; // 점의 위치값을 문자열로 만들어서 반환하는 getlocation 메서드 } } class Point3D extends Point { // 3차원 좌표상의 한 점 int z; string getlocation() { // 오버라이딩 return "x:" + x + ", y :" + y + ", z :" + z; // 선언문변경 불가, 내용(구현부.{})만 변경 가능 } } ▶오버라이딩의 조건 1. 선언부가 조상 클래스의 메서드와 일..

단일상속, Object클래스

▶ 상속 (Single Inheritance) - Java 는 단일 상속만을 허용한다. (C++은 다중상속 허용) class TVDVD extends TV DVD { // 에러. 조상은 하나만 허용된다. // .... } - 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다. ▶ Object 클래스 - 모든 클래스의 조상 - 부모가 없는 클래스는 자동적으로 Object 클래스를 상속받게 된다. - 모든 클래스는 Object 클래스에 정의된 11개의 메서드를 상속받는다. toString(), equals(Object obj), hashCode()...