목록교육전 개인공부 23
재밌고 어려운 IT를 이해해보자~!
프로그램에따라 기본 타입의 데이터를 객체형으로 표현해야 하는 경우가 있다. 이를 위해서 자바에서는기본 자료형을 객체로 다루기 위한 클래스를 제공하는데, 이러한 클래스를 Wrapper클래스 라고한다. Wrapper클래스라고 부르는 이유는 기본형의 데이터 타입을 클래스로 포장했기 때문. String은 태생이 클래스이다. 클래스 형태의 데이터 타입을 일반 데이터타입처럼 값을 대입할 수 있는기능을 오토박싱 기능이라고 부른다. Integer a = 10; 원래 int 타입인데 integer이라는 상자에 자동으로 씌워지게된다. package exam18; //WrapperClass public class WrapperTest01 { public static void main(String[] args) { Integ..
String 클래스는 문자열을 처리하는 객체형 데이터 타입. 문자열을 처리하기 위한 다양한 기능들을 제공한다. package exam.code.str; public class StringTest { public static void main(String[] args) { String str = "오늘은 비가 너무 많이 옵니다 비조심."; System.out.println("문장의 길이 " + str.length()); System.out.println("문자추 추출 :" + str.charAt(11));// 해당 위치에 있는 캐릭터 하나 추출 System.out.println("해당 문자 위치 :" +str.indexOf("이")); System.out.println("해당 문자 마지막 :" +str.l..
java.lang 패키지는 자바 프로그램의 기본적인 클래스를 답고 있는 패키지 이다. Scanner를 사용하려면 import 했어야하지만 System, String등과 같은 클래스는 따로 선언 없이 사용 가능했다. 그이유는 기본적으로 제공해주는 java.lang 패키지에 속해 있었기 때문이다! Object - 자바 클래스의 최상위 클래스로 사용 System, String, StringBuffer/Builder, Math 등이 있다. Object클래스가 가닌 대표 메서드 boolean equals(Object obj) - 다른 객체와 자신이 가진 실제 값을 비교 - 객체가 가진 정보로 객체의 동등성을 비교한 결과를 나타내는 메소드 - Object 클래스의 기본 메소드는 객체의 메모리 주소값을 비교한다 - ..
API (Application Programming Interface) 란!!!!!!!!! 구현되어있는 기능을 가진 클래스 또는 인터페이스를 제공해주는 모음집 뜻한다. API 의기능을 설명해주는 문서는 자기가 직접 만들 수도 있다. package exam.codedoc; /** * 학생 정보를 담는 클래스이다. * * @author javaStudy * * */ public class Student { /** * 학생 이름 */ private String myName; /** *학생 나이 */ private int age; /** * 학생 이름을 변환하는 메서드 * @return myname * */ public String getMyName() { return myName; } /** * 학생 이름을 ..
에러상황을 무시하고싶을떄나, 적절히 처리하고싶을때, 프로글매이 강제종료 되지 않게 하기위해서 예외처리를 쓰고는 한다. 예외처리를 사용하면 보다 안전하고 유연한 프로그램을 만들 수 있다. 예외처리는 try..catch 구문으로 사용한다! try { ; ; ... } catch(예외1) { ; ... } catch(예외2) { ; ... } try안쪽에서 에러가 발생하면 catch문이 실행이된다. 예를들어 public class Sample { public void shouldBeRun() { System.out.println("ok thanks."); } public static void main(String[] args) { Sample sample = new Sample(); int c; try { c..
익명클래스란 클래스의 기능을 1회용으로 쓰려고 만든것 익명클래스도 내부클래스이며 같은 규칙을 적용받는다. 지역클래스와 같은 성향선언부 마지막에 ; 세미클론 필요 내부기능을 override로 구현 내부클래스이며 지역클래스의 제한기능을 동일 하게 적용! 익명클래스 선언법! Person p2 = new Person() { 객체화 + 함수 처럼 생겼다. 객체화 시키는 생성자가 아니다. 이름이 있는것 처럼 보이지만 그냥 담을 곳이 필요한것 뿐이다. 이름은 없다. 이름을 가진다는건 기억되어서 메모리에 저장된다는것 하지만 익명 클래스는 기억이 안된다. 메모리에 기억이 되지않고 한번 사용한 후 사라진다. @Override public void introduce() { //a= "멋진 + a ; // 익명 클래스도 지역..
내부클래스란! 내부클래스의 명칭은 3가지가 있고 각각 선언부위치가 다르다. Instance class : 외부 클래스의 맴버변수 선언위치, 외부 클래스의 인스턴스 맴버처럼 다루어진다. 주로 외부 클래스의 인스턴스맴버들과 관련된 작업에 사용목적. Static class: 외부 클래스의 맴버변수 위치, 외부 크래스의 static 맴버처럼 다루어지며 static 멤버, static메서드에 사용할 목적으로 쓰임. local calss: 외부클래스의 메서드나 초기화블럭 안에 선언. 선언된 내부에서만 사용. 메서드내부나 클래스 내부에 있는 클래스를 의미한다. -> 이걸 지역클래스라고 부르는 것 같다. 클래스가 메서드 내부에 있으면 메서드가 호출될때 같이 호출되고 끝나면 같이 사라진다. 메서드 내부 클래스는 부여된 ..
어제 갑자기 abstract랑 implements가 나왔지만 그에대한 설명은 부족했어서 뭔가 싶었는데!!!!!! 오늘 알게되었다! 그리고 자료를 작성했는데분명 다사라졌다!!! 추상화 메서드 or 클래스 란! 다양성을 위해 메서드의 선언은 동일해야 하지만 실제로 구현하는 내용은 자식 클래스마다 달라야 할 떄 부모 클래스의메서드를 비워 오버라이딩을 이용해 구현해낼 수 있다. 자바는 이것을 abstract 라는 키워드를 사용하여 공식지원. 메서드의 내용을 비워놔야하며 추상화 클래스는 객체화 할 수 없다. 자식 클래스의 생성자에서 super(); 를 통해 추상 클래스의 생성자를 호출하여 부모 객체를 생성한 후 자식 객체를 생성한다. 추상화 클래스는 객체화가 불가능 하기 때문에 자식클래스로 상속시켜서 오버라이딩을..