
다형성이란 여러 가지 형태를 가질 수 있는 능력을 의미하는 다형성은 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 이를 좀 더 구체적으로 말하자면, 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하였다는 것이다. 지금까지 우리는 인스턴스를 생성하고 다루기 위해서 해당하는 타입의 참조변수만 사용했다. 예를들어 CaptionTv인스턴스를 사용하기 위해 CaptionTv타입의 참조변수를 사용한다. 이처럼 일치 시키는게 일반적이지만 Tv와 CaptionTv클래스가 서로 상속관계에 있을 경우, Tv t = new CaptionTv(); 처럼 사용하는 것도 가능하다. 그러면 이제 인스턴스를 같은 타입의 참조변수로 참조하는 것..

상속의 정의와 장점 상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. 상속을 통해서 클래스를 작성하면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 용이 조상클래스 - 부모클래스, 상위클래스, 기반클래스 자손클래스 - 자식클래스, 하위클래스, 파생된클래스 상속 시 주의할점 1.자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다. 2.생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속된다. 위 그림처럼 Point3D는 x,y,z를 각각 만들어서 사용이 가능하지만 Point라는 x,y가 있는 클래스를 상속받아서 z만 추가한 형태로 사용이 가능하다. 그리고 자손 클래스의 인스턴스를 만들면 조상 클래스의 인스..

클래스와 객체 클래스란 '객체를 정의해 놓은 것' 또는 '객체의 설계도'라고 정의 할 수 있다. 클래스는 객체를 생성하는데 사용되며, 객체는 클래스에 정의된 대로 생성된다. 클래스의 정의 - 객체를 정의해 놓은 것 클래스의 용도 - 객체를 생성하는데 사용 객체의 정의 - 실제로 존재하는 것. 사물 또는 개념 객체의 용도 - 객체가 가지고 있는 기능과 속성에 따라 다름 유형의 객체 - 책상, 의자, 자동차 등 사물 무형의 객체 - 수학공식, 프로그램 에러와 같은 논리나 개념 실생활 예를 들어보면 TV설계도(클래스)는 TV라는 제품(객체)을 정의한 것이며, TV(객체)를 만드는데 사용된다. 또한 클래스는 객체를 생성하는데 사용될 뿐 객체 그 자체는 아니다. 클래스를 정의하고 클래스를 통해 객체를 생성하는 이..
자바의 동작과정 Hello.java -> javac.exe(자바 컴파일러) -> Hello.class 생성 -> java.exe(자바 인터프리터) -> “Hello world” 출력 컴파일러란? 원시 언어에서 목적 언어로 바꾸는 작업으로 A라는 언어에서 B라는 언어로 통역해주는 작업이다. 프로그래밍에서는 주로 고급언어를 기계어로 바꿔주는 것을 말한다. 근데 C나 C++의 경우 컴파일러는 CPU나 운영체제마다 가지고 있는 기계어가 조금씩 다르기 때문에 CPU나 운영체제마다 별도의 컴파일러가 필요하다. 같은 고급언어로 작성한 코드라도 다른 기계어 코드를 생성해야하는 것이다. 하지만 자바에선 컴파일러가 기계어로 바꾸는 것이 아니라 '바이트 코드로'라는 것으로 변환 시킨다. 자바의 가장 큰 장점은 JVM이다. ..
이번 프로젝트로 채팅을 하다보니 채팅방에 너무 긴 최근 메시지는 좀 짤라야 할 필요가 생겼다.그래서 내가 원한 크기만큼만 보이고 그 뒤에는 짜르고 ...을 붙이는 과정을 진행해 볼것이다. 위 처럼 보시다 시피 1줄로 깔끔하게 하고 싶다는 욕구가 생길 것이다. 먼저 여러줄로 나눠질 글자를 white-space:nowrap으로 한 줄로 쭉 나오게 만든다. 한 줄로 쭉 나오게 되면 width로 나올 길이를 지정한다. 그 뒤에 넓이가 넘어가는 부분에서는 overflow: hidden으로 그것을 가려줬다. 그리고 text-overflow: ellipsis; 로 텍스트가 넘어가면 ...이 나오는 옵션을 설정해준다. 결과창
변수와 메서드class Variables{int iv; //인스턴스 변수static int cv; //클래스 변수 void method(){int lv; //지역변수}} 변수 종류 선언위치 생성시기 클래스변수 클래스 영역 클래스가 메모리에 올라갈 때 인스턴스 변수 인스턴스가 생성되었을 때 지역변수 클래스 영역 이외의 지역 변수 선언문이 수행되었을 때 멤버 변수에는 클래스변수와 인스턴스 변수가 있으며 static이 붙으면 클래스 변수 없으면 인스턴스 변수로 구분된다. 인스턴스 변수클래스 영역에 선언되며, 클래스의 인스턴스를 생성할 때 만들어진다. 그렇기 때문에 인스턴스 변수의 값을 읽어 오거나 저장하기 위해서는 먼저 인스턴스를 생성해야만 한다. 인스턴스는 독립적인 저장공간을 가지므로 서로 다른 값을 가질 ..
신고 내역을 받아와서 블랙 리스트처리를 하는 로직인데 비슷한게 많을지도 모른다는 생각에 신고자와 피신고자 그리고 신고내용을 조건으로 일치하는 값을 신고내역 테이블에서 삭제하고 블랙리스트 테이블에 추가.이때 정지할 날짜를 받아서 현재 시간으로 부터 정지할 시간까지 더해 저장할 것이다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 #container{ text-align: center; } 신고 내역 신고한 회원 신고 당한 회원 신고 내용 신..
면접에서 자주 나오는 단골 질문로써 필자도 면접 준비를 위해 이 차이점에 대해 포스팅을 해보려고 한다.출처를 거의 카피하듯 썼는데... 작성자님 감사합니다.. 내용이 너무 깔끔하고 좋아서 더 손댈게 없더라구요..ㅎㅎhttps://animal-park.tistory.com/23 1. 오버로딩같은 이름의 메소드를 여러 개 가지면서 매개 변수를 다르게 정의 하는 것-메소드 이름이 같다.-오버로딩은 매개 변수 타입이나 매개변수 갯수가 달라야한다. 오버로딩은 실제로 프로젝트를 진행하면서 여러 개발자분들과 같이 개발하기 때문에 오버로딩을 사용해작성자와 사용자가 알아보기 쉽게 하여 개발의 효율성을 높이기 위해 사용합니다.사전에 비교를 하자면 끄다라는 단어가 있습니다. 끄다라는 단어를 통해 스위치를 끄다, 불을 끄다,..