본문 바로가기

언어공부

(188)
자바 String클래스의 다양한 메소드 자바 String클래스의 다양한 메소드에 대해서 알아보자. String클래스의 다양한 메소드 String toUpperCase() : String인스턴스에 저장되어있는 모든 문자열을 대문자로 변환하여 반환한다. String toLowerCase() : String인스턴스에 저장되어있는 모든 문자열을 소문자로 변환하여 반환한다. int length() : 문자열의 길이를 알려준다. String trim() : 문자열의 왼쪽 끝과 오른쪽 끝에 있는 공백을 없앤 결과를 반환한다. 이 때 문자열 중간에 있는 공백은 제거되지 않는다. String concat(String str) : 문자열(str)을 뒤에 덧붙인다. char charAt(int index) : 지정된 위치(index)에 있는 문자를 알려준다. (..
자바 String 클래스, 문자열 리터럴(String리터럴), String클래스의 메소드 -equals()메소드, equalsIgnoreCase()메소드 자바 String클래스에 대해서 알아보자. String클래스 자바에서는 문자열을 위한 클래스를 제공한다. 바로 String클래스로 문자열을 저장하고 이를 다루는데 필요한 메소드를 함께 제공한다. String클래스는 변경 불가능한 클래스이다. 일단 클래스가 final로 다른 클래스의 조상이 될 수 없다. 그리고 문자열을 저장하기 위해서 문자형 배열 참조변수 char[] value;를 인스턴스 변수로 정의해놓고 있다. 인스턴스 생성 시 생성자의 매개변수로 입력받는 문자열은 이 인스턴스 변수(value)에 문자형 배열(char[])로 저장된다. 한번 생성된 String인스턴스가 갖고있는 문자열은 읽어올수만 있고, 변경할 수는 없다. '+'연산자로 문자열을 결합하는 경우 인스턴스 내 문자열이 바뀌는 것이 아니라..
자바 Object클래스의 메소드 - toString() 자바 Object클래스의 메소드 toString()에 대해서 알아보자. Object클래스 java.lang패키지는 자바프로그래밍에 가장 기본이 되는 클래스들을 포함하고 있다. 그래서 java.lang패키지의 클래스들은 import문 없이도 사용할 수 있게 되어있다. Object클래스는 모든 클래스의 최고 조상이기 때문에 Object클래스의 멤버들은 모든 클래스에서 바로 사용가능하다. Object클래스는 멤버변수는 없고 오직 11개의 메소드만 가지고 있다. toString() 메소드 이 메소드는 인스턴스에 대한 정보를 문자열(String)로 제공할 목적으로 정의한 것이다. Object클래스에 정의된 toString()은 아래와 같다. public String toStrin() { return getClas..
자바 Object클래스의 메소드 - equals() 자바 Object클래스의 메소드 equals()에 대해서 알아보자. Object클래스 java.lang패키지는 자바프로그래밍에 가장 기본이 되는 클래스들을 포함하고 있다. 그래서 java.lang패키지의 클래스들은 import문 없이도 사용할 수 있게 되어있다. Object클래스는 모든 클래스의 최고 조상이기 때문에 Object클래스의 멤버들은 모든 클래스에서 바로 사용가능하다. Object클래스는 멤버변수는 없고 오직 11개의 메소드만 가지고 있다. equals() 메소드 매개변수로 객체의 참조변수를 받아서 비교하여 그 결과를 boolean값으로 알려주는 역할을 한다. equals()메소드는 아래와 같다. public boolean equals(Object obj) { return (this==obj)..
자바 인터페이스(Interface) 자바 인터페이스에 대해서 알아보자. 인터페이스(Interface) 인터페이스는 일종의 추상클래스이다. 하지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 일반 메소드 또는 멤버변수를 구성원으로 가질 수 없다. 오직 추상메소드와 상수만을 멤버로 가질 수 있다. 인터페이스도 추상클래스 처럼 객체생성을 못한다. 인터페이스도 추상클래스처럼 완성되지 않은 불안전한 것이기 때문에 그 자체만으로 사용되기 보다는 다른 클래스를 작성하는데 도움 줄 목적으로 작성된다. 키워드로 class 대신 interface를 사용하며, 일반적인 클래스와 달리 인터페이스의 추상메소드는 public abstrac이어야 하며, 생략할 수 있지만 static메소드와 default메소드는 생략할 수 없다. 상수는 public stat..
자바 final 키워드 자바 final 키워드에 대해 알아보자. final 키워드 final은 마지막, 또는 변경될 수 없는 의미를 가지고 있으며, final이 사용될 수 있는 곳은 클래스, 메소드, 멤버변수, 지역변수이다. final키워드의 특징은 아래와 같다. 변수를 final로 정의하면 수정할 수 없는 변수, 즉 상수가 된다. 클래스를 final로 선언하면 더 이상 상속을 허락하지 않는다. 메소드를 final로 선언하면 더 이상 오버라이딩을 허락하지 않는다. ex) ex) ex)
자바 추상 클래스(Abstract Class), 추상 메소드(Abstract Method) 자바 추상 클래스(Abstract Class)에 대해서 알아보자. 추상 클래스(Abstract Class) 클래스를 설계도에 비유한다면, 추상 클래스는 미완성 설계도에 비유할 수 있다. 미완성 설계도로 완성된 제품을 만들 수 없듯이 추상 클래스로 인스턴스는 생성할 수 없다. 추상클래스 자체로는 클래스로서의 역할을 다 못하지만, 새로운 클래스를 작성하는데 있어서 바탕이 되는 조상 클래스로서 중요한 의미를 갖는다. 추상클래스가 필요한 이유는 공통부분을 가진 미완성 설계도를 만들어 놓고, 이 클래스를 이용해서 각각의 설계도를 완성해 효율적이게 된다. 추상클래스 키워드는 "abstract"을 붙이면 된다. 추상클래스는 추상메소드를 포함하고 있다는 것을 제외하고는 일반클래스와 전혀 다르지 않다. 추상 클래스에도 ..
자바 매개변수의 다형성 자바 매개변수의 다형성에 대해서 알아보자. 매개변수의 다형성 다형성이란 여러가지 형태를 가질 수 있는 능력을 의미한다. 전 포스팅에서는 참조변수의 다형성에 대해서 알아보았다. 참조변수의 다형적인 특성은 메소드의 매개변수에도 적용된다. ex) 아래의 예제는 매개변수의 다형성을 적용한 예제이다. 여기서 Buyer클래스의 buy메소드가 매개변수의 다형성으로 볼 수 있다. buy(Tv t), buy(Computer c)로 각각의 제품마다 buy메소드를 만드는 것 보다 매개변수에 다형성을 적용하여 buy(Product p)로 하나의 메소드에서 간단히 처리할 수 있다. 매개변수가 Product타입의 참조변수라는 것은, 메소드의 매개변수로 Product클래스의 자손타입의 참조변수면 어느 것이나 매개변수로 받아들일 수..