暗黙的
日本語 | 暗黙的 |
英語 | tacit |
ふりがな | あんもくてき |
フリガナ | アンモクテキ |
はっきりと示さないこと。
特に記述しなくても、自動的に行われる処理の場合、その処理を「暗黙的に行われる」と表現する。
たとえば、プリミティブ型の型変換を行う場合、int型からlong型への「ワイドニング変換」であれば、型変換が自動的に行われるため、キャストする必要がない。
この時、内部的には「ビットのサイズ変更及び0埋め」等の処理が行われている。つまり実際にはキャストが行われており、「何も記述しなくても」自動的に行われている。
この「何も記述しなくても」ということが「暗黙的」という意味である。
このように「暗黙的」とは、「特に記述していないけど、実は、本当は裏で何らかの処理をしている」ということを強く示唆する場合に使用される。
「暗黙的」の対になる言葉として「明示的」がある。
「暗黙的」が「何も記述しない」ことを示すのに対し、「明示的」は「はっきりと記述する」ことを示す。
通常は「ある場合は暗黙的に処理されるが、この場合は明示的に記述しなければならない」等、状況によって暗黙的に行える場合と明示的にする必要がある場合の2場面が存在する時に使用される。
特に記述しなくても、自動的に行われる処理の場合、その処理を「暗黙的に行われる」と表現する。
たとえば、プリミティブ型の型変換を行う場合、int型からlong型への「ワイドニング変換」であれば、型変換が自動的に行われるため、キャストする必要がない。
この時、内部的には「ビットのサイズ変更及び0埋め」等の処理が行われている。つまり実際にはキャストが行われており、「何も記述しなくても」自動的に行われている。
この「何も記述しなくても」ということが「暗黙的」という意味である。
このように「暗黙的」とは、「特に記述していないけど、実は、本当は裏で何らかの処理をしている」ということを強く示唆する場合に使用される。
「暗黙的」の対になる言葉として「明示的」がある。
「暗黙的」が「何も記述しない」ことを示すのに対し、「明示的」は「はっきりと記述する」ことを示す。
通常は「ある場合は暗黙的に処理されるが、この場合は明示的に記述しなければならない」等、状況によって暗黙的に行える場合と明示的にする必要がある場合の2場面が存在する時に使用される。
参考サイト
- (参考サイトはありません)
// Sample.java
public class Sample
{
public static void main( String[] args )
{
int i = 100;
// 「暗黙的」にキャストする例。
long l = i;
// long型へのキャストは、ワイドニング変換に
// なるため、自動的に型変換されます。
// つまり、見えていないけど、裏ではキャストが
// 行われているということです。
// これが「暗黙的」にキャストされている、
// ということです。
// char ch = i;
// コンパイルエラー:
// 型の不一致: int から char には変換できません。
// char型へのキャストは、ナローイング変換に
// なるため、自動的には型変換されません。
// つまり「暗黙的」にはキャストされないということです。
// この場合、「明示的」にキャストする必要があります。
}
}
public class Sample
{
public static void main( String[] args )
{
int i = 100;
// 「暗黙的」にキャストする例。
long l = i;
// long型へのキャストは、ワイドニング変換に
// なるため、自動的に型変換されます。
// つまり、見えていないけど、裏ではキャストが
// 行われているということです。
// これが「暗黙的」にキャストされている、
// ということです。
// char ch = i;
// コンパイルエラー:
// 型の不一致: int から char には変換できません。
// char型へのキャストは、ナローイング変換に
// なるため、自動的には型変換されません。
// つまり「暗黙的」にはキャストされないということです。
// この場合、「明示的」にキャストする必要があります。
}
}
// Sample.java public class Sample { public static void main( String[] args ) { int i = 100; // 「暗黙的」にキャストする例。 long l = i; // long型へのキャストは、ワイドニング変換に // なるため、自動的に型変換されます。 // つまり、見えていないけど、裏ではキャストが // 行われているということです。 // これが「暗黙的」にキャストされている、 // ということです。 // char ch = i; // コンパイルエラー: // 型の不一致: int から char には変換できません。 // char型へのキャストは、ナローイング変換に // なるため、自動的には型変換されません。 // つまり「暗黙的」にはキャストされないということです。 // この場合、「明示的」にキャストする必要があります。 } }