목록전체 글 276
재밌고 어려운 IT를 이해해보자~!
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(); 를 통해 추상 클래스의 생성자를 호출하여 부모 객체를 생성한 후 자식 객체를 생성한다. 추상화 클래스는 객체화가 불가능 하기 때문에 자식클래스로 상속시켜서 오버라이딩을..
상속이란말은 일상에서 쓰이는 상속과 같은 개념이다! 부모가 자식에게 상속하는 것 처럼 부모클래스가 자식클래스에게 상속을 해준다. 상속받은 자식클래스는 부모의 매개변수 혹은 기능을 그대로 쓸 수 있다. 부모가 자식에게 물려주는것들 기능,속성, 타입 -> 유전자 자바는 다형성이란 특징을 가지굈는것이 있다. 다향한 형태의 성질.... 상속을 통해서 가질 수 있다. N차상속 가능 부모 expends 조상 조상 expends 조상 2 모든걸 물려봤는다. 부모클래스의 생성자가 선언되지 않거나 파라미터가 없다면 자식생성자에 super();를 안해줘도된다 사실 기본적으로 super()이 들어가 있지만 숨어있다. 하지만 부모클래스의 생성자가 파라미터를 이용해 선언된다면 꼭 자식클래스쪽에 super():를 붙여줘야 한다...
생성자는 .......메서드랑 헷갈린다! 생성자는 리턴타입 지정 X 기본상황에서 호출하지 않고 객체를 선언할때만 호출 가능하다. 리턴여부자체가 필요가 없다. 생성자 선언 생성자의 이름은 클래스의 이름과 동일 하게 사용 -> 자바 문법 public Person() { System.out.println("클래스 생성!"); } 생성자는 원래 시스템이 알아서 만들지만! 생성자를 직접 만들면 시스템이 만드는걸 사용하지 않고 개발자가 만든걸 사용 오버로딩이란?! 기본적으로 같은 클래스 내에서 메서드or생성자 이름 중복사용 불가하지만 메서드가 지닌 파라미터(매개변수)의개수를 다르게 하거나 개수가 같아도 데이터 타입을 다르게하면 다른 메서드로 인식하게 하는 기술! 오버로딩쓸때 주의점. package exam06; p..
자바는 객체지향언어이다! class 객체지향의 기본 객체지향 프로그램 object oriented program! (OOP) 프로그램의 객체는 속성이 있고 기능이 있는것들 학생 -> 번호 이름 학년 성별 / 기능 -> 공부하다 등교하다 등등 .. 클래스란 객체를 표현한 것이며 객체를 코드화 해서 클래스로 표현 컴퓨터는 input이 있어야 output이 생긴다. 객체를 컴퓨터에게 알려줘야한다. 체계는 클래스를 크게 3가지로나눈다. 1. 실행용 main 2. 라이브러리 (Math, System, Array) 기능, 도움들 3.data (사람,사물) 정보들 class 명 앞글자는 대문자로 표현하며 class 구성의 3요소 필드(맴버변수or 변수), 메서드(기능), 생성자 (클래스 생성에 필수 ) 이다. 예를보..