목록백엔드/JAVA (13)
기술 블로그
객체지향 프로그래밍: 인스턴스와 클래스, 동적 바인딩 이해하기 인스턴스와 객체의 차이 인스턴스와 객체의 차이를 이해하려면 먼저 클래스의 개념을 알아야 한다. 클래스는 객체를 생성하기 위한 템플릿이다. 객체는 클래스에서 정의한 것을 바탕으로 메모리에 할당된 상태를 말하며, 인스턴스는 특정 클래스로부터 생성된 객체를 의미한다. 클래스를 설계도에 비유한다면, 객체는 설계도로부터 만들어진 실제 제품이고, 인스턴스는 그 제품이 어떤 설계도로부터 만들어졌는지를 명시할 때 사용하는 용어다. 인스턴스 변수와 클래스 변수 인스턴스 변수는 클래스로부터 생성된 각 객체에 할당되는 변수이다. 이 변수는 객체마다 별도로 존재하며, 객체의 상태를 나타낸다. 클래스 변수는 클래스에 속한 변수로, 해당 클래스의 모든 객체가 공유한다..
콜백(Callback)은 이름에서 예상할 수 있듯이 호출(Call)을 거꾸로(Back) 하는 것입니다.기촌에 호출자가 피호출자를 부르는 것과 반대로 피호출자(Callee)가 호출자(Caller)를 부르게 되죠. 일반적으로 사용자가 시스템에 임의의 서비스를 호출하는 것이 보편적입니다. 즉, 처리루틴은 시스템에 존재하고 사용자가 해당 루틴을 요청함에 따라 동작이 일어나는 것이죠. 이런 정상적인 호출과 달리 시스템 측에서 이벤트를 발생시켜 이에 대한 처리를 해달라고 요청해오는 과정에서 콜백이 사용됩니다. 일반적인 경우와 반대가 되는 상황이죠. 프로그래밍에서 콜백(callback)은 다른 코드의 인수로서 넘겨받는 서브루틴이다. 이를 통해 높은 수준의 층에 정의된 서브루틴(또는 함수)을 낮은 수준의 추상화층이 호..
ArrayList에 여러값을 넣기 위해서는 여러값을 담을수 있는 클래스를 만든 뒤 ArrayList 이런식으로 그 클래스를 담으면 됩니다. 그 클래스의 생성자에는 가변인수에 우리가 담고자하는 변수들을 넣어줍니다.저는 int2개와 스트링을 넣을 수 있도록 하였습니다. 그 후 그 값을 ArrayList.add(new TestBean(변수, 변수, 변수)); 를 이용하면 그 클래스가 ArrayList에 담기기 때문에 여러값을 저장해놓고 사용할 수 있습니다.
클래스에 선언된 변수를 "객체변수"(인스턴스 변수, 맴버 변수,속성)라고 부른다. 객제 변수나 객체 메소드는 .(도트연산자)를 통해 접근할 수 있다. 객체이름.객체변수(); 객체 자기자신을 나타낼때 this 키워드 사용 현재 클래스의 인스턴스를 의미합니다.즉, 현재 클래스의 멤버변수를 지정할때 사용합니다. 객체생성으로 타 클래스 참조 가능 상속으로 선언없이 자기 클래스 선언후 참조도 가능 ㅡㅡㅡprivate 해당 클래스에서만default 해당 패키지에서만protected 해당페키지와 상속받은 클래스에서만public 모두 ㅡㅡㅡstatic 변수: 어떤 객체이던지 동일한 값이여야 한다(ex score)같은 메모리를 공유하므로 객체를 따로 만들더라도 두개이상의 메모리를 사용하지 않는다. static 메소드: ..
if( && || !) switch case 1234567891011121314151617181920212223package hw; public class switchdemo { public static void main(String[] args) { String grade =""; int gnum=2; switch(gnum) { case 1:grade="새내기"; break; case 2:grade="헌내기"; break; case 3:grade="사망년"; break; default:grade="고인물"; break; } System.out.println(grade);}} Colored by Color Scriptercs 123456789101112131415package hw; public clas..
2장씩 안드로이드와 병행
16.자료구조ArrayList클래스에는 sort()정렬 메소드가 없다.대신 TreeSet에 집어넣으면 정렬된다.(삽입위치를 찾느라 시간이 더 걸릴 순 있음) 혹은 Collections클래스에 있는 sort를 쓰면 된다. 제네릭을 다른방식으로 사용할 수 도 있지만 제네릭의 요점은 형 안전성을 갖춘 컬렉션을 만들 수 있다는 것이다. 제네릭을 쓸댸 ArrayList(Fish) 객체는 Fish객체에 대한 레퍼런스로만 들어갈 수 있따. 12345678new ArrayList()//제네릭을 쓰는 클래스(ArrayLIst 등)의 인서턴스를 만드는 방법//목록에 들어갈 수 있는 객체의유형을 알려줌 List songList = new ArrayList()//제네릭 유형의 변수를 선언하고 변수에 값을 대입하는 방법 voi..
11.예외처리 thorws키워드를 메소드 선언에서 찾으면 예외를 발생시킬 수있다는 것을 알 수 있다. try/catch 1234try{//위험한 일을 함} catch(Exception e){ //예외 시 문제를 처리함}cs 컴파일러에서는 RuntimeException을 제외한 모든 것을 확인함 코드에서 예외를 던진다면 반드시 메소드를 선언하는 부분에서 throw키워드를 써서 선언해야함(회피하기) throws Exception 예외 발생여부와 상관없이 무조건 실행할 떄는 finally12345try{} catch(Exception e){ } finally {}cs 12,13은 구식기술(swing gui)을 설명하는 파트이기 때문에 넘어갔습니다. 14. 객체 저장 자바에서만 사용한다면 ? 직렬화 사용 다른프..
6. 자바 라이브러리 *정말 빠른시간내에 벼락치기로 자바를 이해해야 할게 아니라면 해드퍼스트 자바는 사지말자. 점프 투 자바같은 최신 블로그로 한번더 정리해야한다. (혹시 보더라도 도서관에서 빌리자.) ArrayListadd(Object elem) 객체 매개변수 목록에 추가remove(int index) index매개변수로 지정한 위치에 있는 객체를 제거remove(Object elem) 주어진 객체가 ArrayList에 있으면 그 객체를 제거 contains(Object elem) 객체 매개변수 elem에 매치되는 것이 있으면 '참'을 리isEmpty() 목록에 아무것도 없으면 '참'을 리턴indexOf(Object elem)객체 매개변수의 인덱스나 -1을 리턴size() 현재 목록에 들어있는 원소갯수..
1.해드퍼스트 자바(2005) 4일간 복습 매일 블로그 정리 2.점프 투 자바(website) 정리